请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

const和指针

老师你好,关于5-4节数组和指针我有个问题,视频演示里,pStr1和strHelloworld[]所存储的“helloworld”会通过优化方法使用同一个地址,我不大理解为什么会这样?pStr1用了const以后无法对指向内容进行修改了,而strHelloworld[]则是可以对指向的内容进行修改的,这两种定义方式为什么会指向同一片内存空间呢?
我自己跑了一边代码,发现结果是pStr1和pStr3两个用const限定了内容修改的指针指向了同一片区域,而其他的指向同一片内存空间,所以我不是很清楚到底是怎么回事。图片描述

正在回答

1回答

从编译器的角度来看,pstr1和pstr3都是指针,它们指向同一块不可写的区域,当然可以优化成同一块常量区域,pstr2你指定指向strHellloWorld的字符数组位置了。

0 回复 有任何疑惑可以回复我~
  • 提问者 jerry_zhu13 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-12-13 11:00:26
  • 提问者 jerry_zhu13 #2
    那在视频演示里,为什么strHelloWorld[](内容可变)与pStr1(内容不可变)会指向同一片内存区域呢?是因为优化算法的关系吗
    回复 有任何疑惑可以回复我~ 2020-12-13 11:09:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信