C语言中的宏(函数“”缺陷的补充)
--宏是C语言中代码复用的补充方式
--宏定义语法:#define MACRO(param) code_segment
--宏使用语法:
#define ADD(a, b) a + b
ADD(1, 2)
宏与函数不同
--宏不是函数,没有函数调用的过程
--宏是单纯的“代码复制粘贴”,替换参数,函数调用先传递参数值,再跳转执行函数体,最后返回
--宏,每次使用都是“复制粘贴”相同代码,而函数多次调用,执行相同的函数体代码
编译器组成简介
--预处理模块:处理所有宏以及#开头的语句(复制粘贴替换)
--编译模块:将C语言翻译成二进制程序
--链接模块:将二进制程序组合成可执行程序
宏常量
--#define NAME value;//eg: #define AGE 18;
--宏常量再本质上与字面量相同(真正意义上的常量)
小结:
--宏是C语言中代码复用的补充方式
--宏不是函数,使用宏没有函数调用的过程
--预处理模块堆宏的处理方式:复制粘贴替换
--程序中使用宏的地方最终被处理为对应的代码片段
--宏常量的本质就是字面量
标签:函数,--,代码,定义,C语言,复制粘贴,define From: https://www.cnblogs.com/ysnana/p/17114909.html