C:
const 修饰的变量 (常变量)
常变量的处理机制
编译阶段 查询常变量有没有做左值,其他的处理与普通变量的处理方式相同
int main()//C
{
const int a = 10;//常变量
int* p=&a;
*p = 20;
printf("a:%d\n",a);//√
return 0;
}
C++:
const 修饰的变量 (常量)
编译阶段 使用到常量的地方替换成常量初始化的值
1.一定要初始化
2.不允许修改
(1)直接修改 // 常量做左值
(2)间接修改 // 不允许普通的指针指向常量
int main()//C++
{
const int a = 10;//常量
int* p=&a;//×
*p = 20;
printf("a:%d\n",a);
return 0;
}