如何理解C语言中的特殊宏

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

如何理解C语言中的特殊宏

文章插图

02 *#x
表示将x转化成字符,如果宏参数前加入*#,则在扩展的时候,宏参数将会被展开成字符 。

如何理解C语言中的特殊宏

文章插图

03 【如何理解C语言中的特殊宏】#x
表示将x转化成字符串,如果宏参数前加个#,那么在宏体扩展的时候,宏参数会被扩展成字符串的形式 。

如何理解C语言中的特殊宏

文章插图


特别提示 由于宏定义是单纯的文本替换,预处理器不对宏体做任何语法检查,所以在使用的时候要特别小心,对于很长的功能来说建议还是使用函数比较好 。

以上内容就是如何理解C语言中的特殊宏的内容啦,希望对你有所帮助哦!

    推荐阅读