黑马程序员技术交流社区

标题: 关于const'的强制修改问题 [打印本页]

作者: ☜_☞    时间: 2015-3-21 21:17
标题: 关于const'的强制修改问题
为什么相同地址可以存储不同的值。。。。。为什么啊 ,大神们求解释啊。。
#include <stdio.h>
int main(int argc, const char * argv[]) {
    int const num=10;
    int *p = &num;
    *p=100;
    printf("%d ,%d\n",num,*p);
    return 0;
}

作者: wenfeng340    时间: 2015-3-21 22:57
据说那个num的值是直接在寄存器里面去取的   而不是在内存中取值这样就造成了这种情况
作者: wenfeng340    时间: 2015-3-21 23:00
你可以在 int const num=10; 这个加一个 volatile看看
作者: ☜_☞    时间: 2015-3-24 16:32
wenfeng340 发表于 2015-3-21 23:00
你可以在 int const num=10; 这个加一个 volatile看看

恩  好得!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2