C语言中宏只是在C编译预处理阶段的一种文本替换工具,编译完成后,其对二进制代码是不可见的,这里我们将介绍几个比较特殊的宏,很常见但是又易忘记。
操作方法
-
01
x##y 该宏用法表示连接x和y,如果宏体所在标示符中有##,那么在宏体扩展的时候,宏参数会被直接替换到标示符中。
-
02
*#x 表示将x转化成字符,如果宏参数前加入*#,则在扩展的时候,宏参数将会被展开成字符。
-
03
#x 表示将x转化成字符串,如果宏参数前加个#,那么在宏体扩展的时候,宏参数会被扩展成字符串的形式。