const变量的修改

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

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

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

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

原文地址:https://www.cnblogs.com/ligei/p/11363908.html