C++笔记 --- 预编译(宏)

(本章节中例子都是用 VS2005 编译调试的) 

 [][][][][][]

不带参数的宏  -----------------------------------------------------

形式:

#define  宏名称   替换主体

注意:

替换主体中可以有空格空格不是替换主体的一部分(这也很好理解,因为编程的时候执行语句也一般是忽视中间的空格的就好比 a = 3; 与 a=3;是等价的一样 ),例如  #define SIX      2         *3 (等价于 #define SIX 2*3)

但是替换主体的内容还是要遵照一定的规定表达式的数据和操作符中间可以有空格但是一个数据中不能存在 (比如不能这样定义宏 #define PI    3     .14  或者  #define PI    2       2) 

例子:

C++笔记 --- 预编译(宏)

C++笔记 --- 预编译(宏)

View Code

1 #define PI 3.14 //下文出现 PI 的时候都用 3.14 去替换 2 #define SIX 3+3 //下文出现 SIX 的时候都用 3+3 去替换 3 4 void mian() 5 { 6 int x; 7 x = PI; //等价于 x = 3.14 8 x = SIX * 5 //这里注意了,x的值为 18 而不是 30 9             //因为宏只做简单替换也就是这里等价于 x = 3+3*5 所以x值当然是18了 10 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggszg.html