C语言宏定义函数的使用(定义单行和多行)
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言宏定义函数的使用(定义单行和多行)
C语言宏定义函数的使用(定义单行和多行)
2010-04-14 10:02define的单行定义
#define maxi(a,b) (a>b?a:b)
define的多行定义
define可以替代多行的代码,例如MFC中的宏定义(非常的经典,虽然让人看了恶心)
#define MACRO(arg1, arg2) do { \
/* declarations */ \
stmt1; \
stmt2; \
/* ... */ \
} while(0) /* (no trailing ; ) */
关键是要在每一个换行的时候加上一个"\ "
//宏定义写出swap(x,y)交换函数
#define swap(x, y)\
x = x + y;\
y = x - y;\
x = x - y;
zigbee里多行define有如下例子
#define FillAndSendTxOptions( TRANSSEQ, ADDR, ID, LEN, TxO ) { \
afStatus_t stat; \ ZDP_TxOptions = (TxO);
\
stat = fillAndSend( (TRANSSEQ), (ADDR), (ID), (LEN) ); \
ZDP_TxOptions = AF_TX_OPTIONS_NONE;
\
return stat;