通过指针修改const的值无效

来源:3-5 常量【常量修改秘笈】

ibuole

2021-06-07

用的是macOS系统安装的clion
在执行如下代码时出错.
图片描述

error: <user expression 1>:1:2: use of undeclared identifier 'value'
&value
 ^
报错代码如上方所示

断点执行时可以看出来kRed已经为0了.

&value = error: <user expression 7>:1:2: use of undeclared identifier 'value'
&value
 ^

kRed = {const int} 0
kGreen = {const int} 65280
kBlue = {const int} 255
p_k_red = {int * | 0x7ffeec0b1a88} 0x00007ffeec0b1a88

最后输出结果却没有变化.

/Users/liuchao/CLionProjects/untitled/cmake-build-debug/untitled
kRed: 16711680
kRed: 16711680

Process finished with exit code 0
写回答

1回答

bennyhuo

2021-06-07

这个是正常的,有点编译器会对常量做优化。

0
0

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程