1. ##连接符的用法在C语言中,## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串,一般跟在宏定义参数的前面。2.#转换符的用法#转化符是将传递的参数作为字符串来进行处理。例如定义如下宏:#define pasrse( i ) printf( "token" #i " = %d", token##i )//同时定义如下的变量inttoken1=1;则调用parse(1)的打印结果为:#宏展开: printf("token" "1" "= %d", token1);
token1=13.宏定义的可变参数在宏定义中使用可变参数,只需在参数后面加入”…”,然后使用##连接即可例如下面的例子:#define LOG_INFO(fmt, args...) \
do { \
log_write("LOG_INFO", __func__, __FILE__, __LINE__, fmt, ##args); \
}while(0)//其中log_write的原型为:voidlog_write(constchar*level,constchar*func,constchar*file,intline,cons
...
继续阅读
(35)