在C语言中,# 指的是预处理指令。像#define就是在main函数之前预先进行定义。
define定义常量
这里定义了常量NUM,我们知道数组固定下标值必须是常量,这也进一步说明了这里define定义的是常量。
define定义宏
这里宏和函数有一些类似,我们来看下面的场景
对比一下函数和宏,是不是有种类似的感觉呢?
虽然相似,但他们其实本质上还是不一样的。
这里为什么要给x,y加()呢?我们可以看一下不加()的效果:
这是加不加()的两种情况,不加()直接就先执行乘法* 了,加了()就会先执行宏的加法,想必大家也明白了吧。