指针可以修改const修饰的变量么

2025-04-26 06:56:41
推荐回答(2个)
回答1:

例如: int a=10; //a是一个整形标识符,通过a,能够操作内存当中一块4字节长的空间。 int* p=&a;//p是一个整形指针符,里面储存的是a的内存地址。 *p=5; //这里*p的意思就是操作p储存那块4字节的内存,效果和a=5相同。

回答2:

被const修饰的变量理论上可以被指针修改,但是有的编译器会对其进行优化,所以表面上看是不能修改,只需在定义const变量前加上volatile 例:volatile const int a;,就能避免编译器优化这段代码,其结能被指针修改。