C/C++预处理宏的总结

1.定义顺序的无关性

  #define PI 3.14

  #define TWO_PI  2*PI

  这两句谁前谁后无所谓,因为预处理器不断迭代来实现宏替换,直到源文件中没有宏了才停止。

2. 宏变量变成字符串

   #define str(x)  #x  

   例子:str (teststring)  ==> "teststring"

3. 宏变量拼接

  #define print(n)  printf("%d\n",x##n)

  例子:print(20) ==> printf("%d\n",x20)

4. 定义长字符串如何换行

  #define url  "http://www.baidu.com" \

        "?hello=world&ni=hao"

  注意编译器会把两个相邻的字符串连接到一起,形成单个字符串。

posted @ 2015-03-15 10:28  郭晓倩  阅读(293)  评论(0编辑  收藏  举报