在c中const这个关键字,维基给出这样一句话
When applied in an object declaration,[b] it indicates that the object is a constant: its value does not change, unlike a variable. This basic use – to declare constants – has parallels in many other languages
实际就是用于不允许修改其值的,但是这里需要思考的就是,不允许修改的a的值还是内存里的值,如果非要修改内存里的值怎么办?cpu只认识0101,编译器是如何完成const的功能的,下面通过实验分析一下,(实验平台64位win7,vs2008)
初始代码
int main()
{
int b,c;
const int a=10;
c=1;
return 0;
}
很常见,如果
a=11;首先编译不通过,这是c语法就不允许的。
看看此时a对应的内存里面的值,