c语言可变参数与宏定义
宏定义
https://www.cnblogs.com/wzd5230/p/10959032.html
https://www.cnblogs.com/xyang0917/p/4172493.html
https://blog.csdn.net/wukery/article/details/53286348
//...表示可变参数列表 #define LOG(format, args...) fprintf(stdout, format, args) LOG("%s","123"); //正确 LOG("123"); //错误 展开后,相当与LOG(,"123") #define LOG(format, args...) fprintf(stdout, format, ##args) LOG("%s","123"); //正确 LOG("123"); //正确 ##加上后不会进行连接。 ##”连接符号的用法,“##”的作用是对token进行连接,上例中format,args都可以看作是token,如果token为空,“##”则不进行连接,所以允许省略可变参数 因为format这个token为空,又因为有##的加持,所以不连接。
//生产环境与测试环境切换操作 #ifdef DEBUG #define LOG(format, ...) fprintf(stdout, ">> "format"\n", ##__VA_ARGS__) #else #define LOG(format, ...) #endif
可变参数编程
https://www.cnblogs.com/edver/p/8419807.html
https://www.runoob.com/cprogramming/c-variable-arguments.html
https://blog.csdn.net/ericbar/article/details/79558827
相关推荐
zhuxue 2020-10-14
zhangbingb 2020-09-21
HeronLinuxampARM 2020-09-14
美丽的泡沫 2020-09-08
goodstudy 2020-08-19
luvhl 2020-08-17
littleFatty 2020-08-16
gamestart0 2020-08-15
URML 2020-08-15
sfkong 2020-08-02
82941732 2020-07-27
偏头痛杨 2020-07-18
timewind 2020-07-04
89407707 2020-06-27
xiaoxiaoCNDS 2020-06-26
lyjava 2020-06-26
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。以上实例中 7、5 和 12 是操作数。关系运算符用于计算结果是否为 true 或者 false。逻辑运算符用于测定变量或值之间的逻辑。
ChaITSimpleLove 2020-06-25
Strongding 2020-06-25