c语言中宏定义的用法与意义

c语言中宏定义的用法与意义

ID:8523635

大小:26.50 KB

页数:20页

时间:2018-03-31

c语言中宏定义的用法与意义_第1页
c语言中宏定义的用法与意义_第2页
c语言中宏定义的用法与意义_第3页
c语言中宏定义的用法与意义_第4页
c语言中宏定义的用法与意义_第5页
资源描述:

《c语言中宏定义的用法与意义》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C语言宏定义技巧(常用宏定义)  写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H  //头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef  unsigned char      boolean;     /* Boolean value type. */ typedef  unsigned long int  uint32;     

2、 /* Unsigned 32 bit value */typedef  unsigned short     uint16;      /* Unsigned 16 bit value */typedef  unsigned char      uint8;       /* Unsigned 8  bit value */ typedef  signed long int    int32;       /* Signed 32 bit value */typedef  signed short       int16;       /* Signed 16 bit value */ty

3、pedef  signed char        int8;        /* Signed 8  bit value */  //下面的不建议使用typedef  unsigned char     byte;         /* Unsigned 8  bit value type. */typedef  unsigned short    word;         /* Unsinged 16 bit value type. */typedef  unsigned long     dword;        /* Unsigned 32 bit value type. */ 

4、typedef  unsigned char     uint1;        /* Unsigned 8  bit value type. */typedef  unsigned short    uint2;        /* Unsigned 16 bit value type. */typedef  unsigned long     uint4;        /* Unsigned 32 bit value type. */ typedef  signed char       int1;         /* Signed 8  bit value type. */type

5、def  signed short      int2;         /* Signed 16 bit value type. */typedef  long int          int4;         /* Signed 32 bit value type. */ typedef  signed long       sint31;       /* Signed 32 bit value */typedef  signed short      sint15;       /* Signed 16 bit value */typedef  signed char      

6、 sint7;        /* Signed 8  bit value */ 3,得到指定地址上的一个字节或字#define  MEM_B( x )  ( *( (byte *) (x) ) )#define  MEM_W( x )  ( *( (word *) (x) ) )4,求最大值和最小值   #define  MAX( x, y ) ( ((x) > (y)) ? (x) : (y) )   #define  MIN( x, y ) ( ((x) < (y)) ? (x) : (y) )5,得到一个field在结构体(struct)中的偏移量#define FPOS( type

7、, field ) /*lint -e545 */ ( (dword) &(( type *) 0)-> field ) /*lint +e545 */6,得到一个结构体中field所占用的字节数#define FSIZ( type, field ) sizeof( ((type *) 0)->field )7,按照LSB格式把两个字节转化为一个Word#define  FLIPW( ray ) ( (((

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

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

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