C语言|【C语言】#define 定义常量和宏

目录
#define定义标识符常量
#define定义宏
#define定义标识符常量 C语言|【C语言】#define 定义常量和宏
文章图片

先用#define把MAX定义为1000,这里MAX是一个标识符常量(本质上是一个常量),所有使用MAX的地方都会被自动替换为1000。这样做的好处是如果这个常量在程序中多次使用,那么修改起来非常方便,只需要把#define那行代码修改即可。比方说如果要把程序中所有的MAX改成100,只需要把#define MAX 1000改成#define MAX 100即可。
一般习惯把标识符常量所有字母大写。
#define定义宏 C语言|【C语言】#define 定义常量和宏
文章图片

用#define可以把ADD(x, y)定义为((x)+(y))。其作用是简化代码,把所有需要两个表达式相加的地方都写成ADD的形式。所有的ADD(x, y)都会自动替换成((x)+(y))。其中x和y为任意的表达式。
一般宏习惯用全大写的形式,这样可以和函数区分开来。
注意上面的ADD(x, y)中的x和y都是表达式,所以要用括号括起来。计算的结果也是一个表达式,也要用括号括起来。如果没有括号,计算结果就不对了。
C语言|【C语言】#define 定义常量和宏
文章图片

【C语言|【C语言】#define 定义常量和宏】本质上是把所有的ADD(2, 3)都替换成了2+3,所以10 * ADD(2, 3)就自动替换成10*2+3,也就是23。

    推荐阅读