C语言宏定义技巧和指针.doc

C语言宏定义技巧和指针.doc

ID:62276005

大小:29.50 KB

页数:24页

时间:2021-04-25

C语言宏定义技巧和指针.doc_第1页
C语言宏定义技巧和指针.doc_第2页
C语言宏定义技巧和指针.doc_第3页
C语言宏定义技巧和指针.doc_第4页
C语言宏定义技巧和指针.doc_第5页
C语言宏定义技巧和指针.doc_第6页
C语言宏定义技巧和指针.doc_第7页
C语言宏定义技巧和指针.doc_第8页
C语言宏定义技巧和指针.doc_第9页
C语言宏定义技巧和指针.doc_第10页
资源描述:

《C语言宏定义技巧和指针.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.....................最新资料整理推荐.....................C语言宏定义技巧1,防止一个头文件被重复包含 #ifndefCOMDEF_H #defineCOMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 typedefunsignedcharboolean;/*Booleanvaluetype.*/ typedefunsignedlongintuint32;/*Unsigned32bitvalue*/24.....................最新资

2、料整理推荐..................... typedefunsignedshortuint16;/*Unsigned16bitvalue*/ typedefunsignedcharuint8;/*Unsigned8bitvalue*/ typedefsignedlongintint32;/*Signed32bitvalue*/ typedefsignedshortint16;/*Signed16bitvalue*/ typedefsignedcharint8;/*Signed8bitvalue*/ //下面的不建议使用 typedefunsignedcha

3、rbyte;/*Unsigned8bitvaluetype.*/24.....................最新资料整理推荐..................... typedefunsignedshortword;/*Unsinged16bitvaluetype.*/ typedefunsignedlongdword;/*Unsigned32bitvaluetype.*/ typedefunsignedcharuint1;/*Unsigned8bitvaluetype.*/ typedefunsignedshortuint2;/*Unsigned16bitvaluetype.

4、*/ typedefunsignedlonguint4;/*Unsigned32bitvaluetype.*/ typedefsignedcharint1;/*Signed8bitvaluetype.*/ typedefsignedshortint2;/*Signed16bitvaluetype.*/24.....................最新资料整理推荐..................... typedeflongintint4;/*Signed32bitvaluetype.*/ typedefsignedlongsint31;/*Signed32bitvalue

5、*/ typedefsignedshortsint15;/*Signed16bitvalue*/ typedefsignedcharsint7;/*Signed8bitvalue*/ 3,得到指定地址上的一个字节或字 #defineMEM_B(x)(*((byte*)(x))) #defineMEM_W(x)(*((word*)(x))) 4,求最大值和最小值 #defineMAX(x,y)(((x)>(y))?(x):(y))24.....................最新资料整理推荐..................... #defineMIN(x,y)(((x)<

6、(y))?(x):(y)) 5,得到一个field在结构体(struct)中的偏移量 #defineFPOS(type,field) /*lint-e545*/((dword)&((type*)0)->field)/*lint+e545*/ 6,得到一个结构体中field所占用的字节数 #defineFSIZ(type,field)sizeof(((type*)0)->field) 7,按照LSB格式把两个字节转化为一个Word #defineFLIPW(ray)((((word)(ray)[0])*256)+(ray)[1]) 8,按照LSB格式把一个Word转化为两个字节

7、 #defineFLOPW(ray,val)24.....................最新资料整理推荐..................... (ray)[0]=((val)/256); (ray)[1]=((val)&0xFF) 9,得到一个变量的地址(word宽度) #defineB_PTR(var)((byte*)(void*)&(var)) #defineW_PTR(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。