#define 定义标识符常量
#define max 1000
int mian(){
printf("%d\n",max); //打印结果为:1000
return 0;
}
具体细节看第一章·第一节 常量
#define 定义宏
大体上和函数相似,但是又独特的细节
例1:
#define Add(x,y) ((x)+(y))
int main(){
printf("%d\n",Add(3,4));//打印 7
return 0;
}
例2:
#define Add(x,y) ((x)+(y))
int main(){
printf("%d\n",4*Add(3,4));//打印 28
return 0;
}
在第一章时候不才已经说过在 #define 定义标识符常量时候是把常量替换的,不是以变量的形式来赋值的,在定义宏的时候也是一样,在计算4*Add(3,4) 时,Add(3,4)中也进行替换的。在计算机内部计算是:4*((3)+(4)) 。
例3:
#define Add(x,y) x+y
int main(){
printf("%d\n",4*Add(3,4));
return 0;
}
在上面的解析中这题小伙伴们不妨大展身手的试一下(答案与讲解已经在评论区置顶了)
深度解析在第三章中:预处理指令详解