[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();

}

   

   

posted @ 2019-08-12 21:23  木子识时务  阅读(464)  评论(0编辑  收藏  举报