1、预处理指令的作用
#define 是C/C++中的预处理指令,用于定义宏(Macro)。本质是在代码正式编译之前,由预处理器进行纯粹的文本替换
2、常见用法
(1)无参宏定义(常用于定义常量)
用于给数值、字符串或类型别名起一个有意义的名字,提高代码可读性和维护性
①、语法:
#define 宏名 替换文本
②、示例:

(2)带参宏定义(宏函数)
可以接收参数,行为类似函数,但没有函数调用的栈开销(直接原地展开代码)
①、语法:
#define 宏名(参数表) 替换文本
②、示例:

3、注意事项
(1)宏只做机械的文本替换,不考虑运算优先级。
(2)末尾不要加分号;
(3)注意多次求值问题
4、宏与typedef的区别
(1)#define是预处理阶段的文本替换,没有类型检查,也不占用运行时内存。
(2)typedef是编译阶段处理的,具有严格的作用域和类型安全检查。
