C
嗜血之心
1.自动化专业硕士毕业,5年嵌入式开发经验
2.精通ARM系列处理器开发,包括M3、ARM9、A8
3.精通Linux系统软件开发,包括应用程序、驱动、QT、shell脚本
4.熟悉wifi bluetooth协议
展开
-
数组
1、数组声明时清空int main(){ int a[5] = {0}; //清空 int i = 0; for(i = 0 ; i< 5 ; i++) printf("[%d]",a[i]); # [0][0][0][0][0] printf("\n"); return 0;}int main(){ int a[5] = {1};原创 2016-11-10 10:11:08 · 260 阅读 · 0 评论 -
C语言位域操作
1、为了节省空间,操作方便,C语言提供一种数据结构:位域。申明如下: struct bitfield{ char a:2; #a占2位 char b:3; #b占3位 char c:2; #c占2位 }bf;2、基本规则: (1)如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字 段将紧邻前一个字段存原创 2016-11-09 16:25:39 · 426 阅读 · 0 评论 -
union
1、union是为了让【不同的数据项】存放到【同一段内存】空间中。 2、union数据结构中的多个成员共用一段内存空间,空间大小由最大的成员决定。 3、union使用的范例如下: 1、 union test { unsigned int a; unsigned short b; unsigned char c; }union_da原创 2016-11-01 14:41:09 · 266 阅读 · 0 评论 -
大小端问题
int main(){ int i; unsigned int x = 0x11223344; unsigned char *p ; p=(char *)&x; for(i=0;i4;i++) { printf("%x:%x ",p,*p); p++; }}bf80ca34:44 bf80ca原创 2016-11-01 08:44:02 · 416 阅读 · 0 评论 -
malloc、free机制初探
最近看了一些内存管理方面的文章,思考:linux下malloc、free到底是个什么流程,free完了后那块内存是直接放进空闲内存链表,还是清空后放入内存链表;这个问题也可以理解为:malloc后的那块内存到底干部干净。闲话少说,上测试代码,very easy!int main(int argc, char ** argv) { printf("mem test!\n"); in原创 2016-09-19 09:16:04 · 293 阅读 · 0 评论 -
指针函数 与 函数指针
【指针函数】与【函数指针】区别指针函数:#include<stdio.h>#include<string.h>#include<stdlib.h>static int data;int *point_func(int x){ data = x; printf("data's address is %x\n",&data); printf("data's vaule原创 2016-08-30 11:02:18 · 282 阅读 · 0 评论 -
替换字符串
1、将一串字符串中的空格转换成@#$.#include<stdio.h>#include<stdlib.h>#include<string.h>void conver(char *buf,char *cbuf){ int count,len,newlen,i; count =0; len = strlen(buf); for(i=0;i<len;i++)原创 2016-08-17 06:26:10 · 338 阅读 · 0 评论 -
CAN数据连包处理
控制字的含义:10:向目标地址请求发送数据;11:用于响应源地址的发送请求,即告诉源地址 你可以给我发数据了;13:消息结束,即目标地址已经从源地址将数据收过来了;FF:放弃连接。举例子:(1)10 0D 00 02 FF 00 06 00 (A->B)10 -控制字 0D 00 -整个消息的字节数 低位在前 02 -数据包个数,即这个连续帧数据...原创 2018-03-18 15:44:37 · 4364 阅读 · 0 评论