const变量的修改

int main(){
    const char a[]="hello world"; 
    char *aa=(char *)a;     
    printf("\nthe a address is 0x%p,%s",a,a);    
    aa[3]='a';
    printf("\nthe a address is 0x%p,%s",a,a);
    return 0;
}

const 局部变量存在于栈中,可以通过指针修改它的值。

const char a[]="hello world"; 
int main(){    
    char *aa=(char *)a;     
    printf("\nthe a address is 0x%p,%s",a,a);    
    aa[3]='a';
    printf("\nthe a address is 0x%p,%s",a,a);
    return 0;
}

main函数执行错误,是因为const全局变量储存在常量区,它只有只读属性。

posted @ 2019-08-16 14:54  hiligei  阅读(546)  评论(0编辑  收藏  举报