__VA_ARGS__等宏定义

_VA_ARGS_

该宏代表是可变参数;就是宏定义中参数列表的最后一个参数为省略号(也就是“···”)。这样预定义宏VA_ARGS就可以被用在替换部分中,替换省略号所代表的字符串。省略号只能代替最后面的宏参数。
##VA_ARGS :加##用来支持0个可变参数的情况

#

#符号预处理运算符,它可以把语言符号转化程字符串。

##

##这个运算符把两个语言符号组合成单个语言符号

补充:以上我们平时用的最多的就是自定义自己的打印函数。
其中比如fprintf 函数的功能是 Print formatted data to a stream:
格式化输出数据到流。关于 stdin、stdout、stderr 的说明如下:
By default, standard input is read from the keyboard, while standard output and standard error are printed to the screen:默认情况下,标准输入从键盘读取,同时标准输出和标准错误会打印到屏幕。

你可能感兴趣的:(__VA_ARGS__等宏定义)