[c语言]常量:const 与 #define 的区别
-
const 定义常量
-
不能直接修改,但是可以间接修改
- 可以通过直接修改内存进行修改
- 可以通过指针进行修改
-
-
#define 定义常量
- 不能通过指针进行修改,也不能通过内存进行修改,相当于真正意义的常量
-
代码示例
#include<stdio.h> #define VAR 10001
void main() { const int var = 1001; printf("%d", var); *(int *)(&var) = 101;// 转换常量指针为非常量指针,说明 constant 不算真正的常量 printf("\n%d", var);
printf("%d", VAR);// 不能取地址进行修改
getchar(); } |