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

C语言中宏只是在C编译预处理阶段的一种文本替换工具,编译完成后,其对二进制代码是不可见的,这里我们将介绍几个比较特殊的宏,很常见但是又易忘记。

工具/材料

C语言

编译IDE

操作方法

  • 01

    x##y
    该宏用法表示连接x和y,如果宏体所在标示符中有##,那么在宏体扩展的时候,宏参数会被直接替换到标示符中。

  • 02

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

  • 03

    #x
    表示将x转化成字符串,如果宏参数前加个#,那么在宏体扩展的时候,宏参数会被扩展成字符串的形式。

  • End

特别提示

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

  • 发表于 2017-08-29 00:00
  • 阅读 ( 1216 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具