C/C++ 您当前所在位置:首页 > C/C++ > 宏的定义与说明
宏的定义与说明
简介 写好了代码,将代码变成可执行程序中间大概有几个步骤。1、替换。2、编译。3、连接。为了使代码方便或者容易阅读,我们会在代码里定义一些符号,这些符号可以代替某个我们想要的符号,在编译之前会先执行一个替换功能,把符号替换成我们要的值,然后才开始编译。宏就与这个替换有关系。
写好了代码,将代码变成可执行程序中间大概有几个步骤。1、替换。2、编译。3、连接。为了使代码方便或者容易阅读,我们会在代码里定义一些符号,这些符号可以代替某个我们想要的符号,在编译之前会先执行一个替换功能,把符号替换成我们要的值,然后才开始编译。宏就与这个替换有关系。
无参数的宏定义
#define TRUE 1
通过#号加一个define关键字,后面跟上标识符和要替换的值,注意空格。这样就定义好了一个无参数的宏。下面定义几个例子。
#define DEBUG 1 #define PI 3.141592654 #define PATH "abc/a.txt"
需要注意的是,这个只做替换,不会做任何检查,如果定义不有问题,在这个阶段不会报错,要到编译的时候错误才会显示出来。
带参数的宏定义
#define MAX(A,B) ((A) > (B) ? (A) : (B)) int main(int argc, char* argv[]) { int x = MAX(1, 2); printf("%d", x); return 0; }
int x = MAX(1, 2);将会替换成int x = ((1) > (2) ? (1) : (2));
带参数的宏需要注意
1、这个与函数是有区别的,函数会分配堆栈空间,这个只是单纯的替换;
2、末尾不能有分号;
3、宏的名称与后面的左圆括号不能有空白;
4、define可以替代多行代码,但后面要加上反斜杠“\”
上一篇: 关闭网站响应头中PHP版本信息
下一篇: PE结构关键字段说明
猜你喜欢
点击排行
热门推荐
随机展示
站点信息
- 上线时间:2020年05月30日
- 网站程序:自建框架
- 博客模板:今夕何夕
- 文章统计:43篇文章
- 评论统计:0条评论
- 留言统计:0条留言
- 统计数据:百度统计