【C语言入门】#define定义标识符常量和宏
十四、#define
定义常量和宏
1 define
定义标识符常量
代码示例:
#include<stdio.h>
//define定义标识符常量
#define MAX 100
int main()
{
//define定义标识符常量
int arr[MAX] = { 0 };//100*4 = 400
int m = MAX;
printf("%d\n", sizeof(arr));//400
printf("MAX = %d\n", MAX);//100
printf("m = %d\n", m);//100
return 0;
}
解释说明:
1 #define
可以定义标识符常量。
2 define
定义宏
代码示例:
#include<stdio.h>
//define定义宏
#define ADD1(x, y) ((x)+(y))
#define ADD2(x, y) x + y
int main()
{
//define的定义宏
int sum = ADD1(2, 3);
//int sum = ((2)+(3));
printf("sum = %d\n", sum);//5
sum = 10 * ADD2(2, 3);
//sum = 10 * 2 + 3;
printf("sum = %d\n", sum);//23
return 0;
}
解释说明:
1 #define ADD2(x, y) x + y
、sum = 10 * ADD2(2, 3);
在预处理阶段完成了替换。
ADD2(x, y)
,其中的 x
和 y
可以是常量、变量、表达式等,不会有类型检查。
3 注意事项
注意1:#define
是预处理指令,在预处理阶段就执行完毕。
注意2:#define
在预处理阶段就完成了替换,只是做了原样替换,不会有类型检查。
注意3:#define
定义的宏要注意书写形式,要记得添加括号。
总结:
本节介绍了 #define
可以定义标识符常量和宏,以及在定义宏时需要注意的事项。
感谢您的阅读!如有任何错误,欢迎您的批评指正!