宏是用来定义一个标示符并把这个标示符替换。
一、无参数的宏的定义:
#define 标示符 需要替换的字符串 (后面不能写分号)
注意点:
1、宏之间可以相互调用。
2、宏的作用域是从定义开始到程序结束的,如果需要终止宏定义的作用域,可以用#undef命令。
- #include <stdio.h>
- #define π 3.14
- #define R 10
复制代码 二、有参数的宏的定义:
#define 宏名(参数列表) 字符串
注意点:
1、宏名和参数列表之间不能有空格,否则空格后面的所有字符串都作为替换的字符串。
2、有参数的宏定义时最好把参数和运算结果都括起来,不括起来的话得到的可能不是想要的结果。
- #include <stdio.h>
- #define sum(a) a+a
- int main()
- {
- printf("%d\n", sum(4)*8); //输出结果为36,并不是我们想要的64。这是因为我们没有把a+a用小括号括起来。结果sum(4)*8就被替换成了4+4*8。
- }
复制代码
|
|