黑马程序员技术交流社区
标题:
宏的定义和使用
[打印本页]
作者:
liu01230
时间:
2015-5-11 23:02
标题:
宏的定义和使用
宏是用来定义一个标示符并把这个标示符替换。
一、无参数的宏的定义:
#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。
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2