宏定义
C语言中的宏(函数“缺陷”的补充)
- 宏是C语言中代码复用的补充
- 宏语法
C #define MACRO(param) code_segment - 宏使用
C MACRP(param)
宏与函数的不同
- 宏不是函数,使用宏没有函数的调用的过程
- 函数调用先传递参数值,然后跳转执行函数体,最后返回
- 使用宏只是单纯“复制粘贴代码”,然后替换参数
- 同一个函数,无论多少次调用,都执行相同的函数体代码
- 同一宏,每次使用都会“复制粘贴”相同的代码
编译器组成
- 预处理模块:处理所有宏以及#开头的语句
- 编译模块:将C语言翻译成二进制程序
- 链接模块:将二进制程序组合成可执行程序
宏常量
#define NAME value
- 预处理模块将代码中出现的NAME标识符替换为value
- 宏常量在本质上与字面量相同(真正意义的常量)
本文详细介绍了C语言中的宏定义,包括宏的使用方式、宏与函数的区别,以及预处理模块的功能。宏定义允许代码复用,但不涉及函数调用过程,而是直接替换。同时,文章还提到了宏常量的概念,它们在预处理阶段会被替换为指定的值。了解宏的工作原理对于理解C语言的编译过程至关重要。
4792

被折叠的 条评论
为什么被折叠?



