关于骗过编译器改变const值的问题
今天接触到const定义的值可以被改变的问题,具体讲到了虚拟地址,以及怎么编译的,还有涉及到了内存分配的问题。。。新手上路,实在有些东西吸收不了,希望来个大神给我们这些新手解释解释
[解决办法]
#include <stdio.h>
int main()
{
const int a=100;
int *c=(int*)&a;
*c=123;
printf("%d",a);
return 1;
}
[解决办法]
我前两天也才问过这个问题,楼主看看有没有帮助。
http://bbs.csdn.net/topics/390462962
实际上也不是用,就是一种喜欢钻研问题的精神,就像小时候看到玩具总想拆开看看里面是什么。
现在也一样,学了点汇编后总想看看这是什么,那是什么,可不可以这么实现,那样实现这样。
为什么这样会出错,为什么编译器诓人,不诓人时有什么规律这样。
[解决办法]