C语言
编译IDE
x##y
该宏用法表示连接x和y,如果宏体所在标示符中有##,那么在宏体扩展的时候,宏参数会被直接替换到标示符中。
*#x
表示将x转化成字符,如果宏参数前加入*#,则在扩展的时候,宏参数将会被展开成字符。
#x
表示将x转化成字符串,如果宏参数前加个#,那么在宏体扩展的时候,宏参数会被扩展成字符串的形式。
由于宏定义是单纯的文本替换,预处理器不对宏体做任何语法检查,所以在使用的时候要特别小心,对于很长的功能来说建议还是使用函数比较好。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!