16-1 #define定义标识符常量
#define NUM 100
int main()
{
printf("%d\n", NUM);
int n = NUM;
printf("%d\n",n);
int arr[NUM] = { 0 };
return 0;
}
正常运行:
可以看出,这里的NUM完全跟常量一样
16-2 #define定义宏
计算两数和:
#define ADD(x,y) ((x)+(y))
int main()
{
int a = 10;
int b = 20;
int c = ADD(a, b);
printf("%d\n",c);
return 0;
}
运行结果:
宏是完成替换的:
int c = ADD(a, b); //int c = ((a)+(b));
宏的构成:
int c = ADD(a, b); //ADD:宏名 x/y:宏的参数,参数是无类型 ((x)+(y)):宏体
宏跟函数相似,但有区别,后期会详细讲解