#define预编译指令
顾名思义,这个指令的含义是“定义”,大家可以把该指令视为一种文本的替换。详细在下面代码展示
[list=1]
[*]//使用该指令定义了一个数
[*]#define PI 3.14
[*]//那么大家在后面的调用中就是直接使用PI就可以了
[*]float Circle_Area = PI * r*r;
[*]//实际在编译器编译的时候就会把字符PI替换成3.14,所以在编译器眼中实际上上述等式的样子如下
[*]float CirCle_Area = 3.14 * r*r;
[*]
[*]//再例如有时候大家喜欢写一些宏定义“函数”
[*]#define MIN(x,y)(x>y)?x:y; //两个数比大小
[*]
[*]//在程序猿们的眼里,代码编写如下
[*]uint8_t num_A = 3;
[*]uint8_t num_B = 6;
[*]uint8_t min_num;
[*]min_num = MIN(num_A,num_B);
[*]
[*]//但是在编译器的眼中这段代码如下
[*]min_num = (num_A