请稍等 ...
×

采纳答案成功!

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

关于指针的疑惑


https://img1.sycdn.imooc.com//szimg/5f20f5ad09f7fa4505290301.jpgp指向的是a的地址,让*p=12,此时有两种疑问,第一种,*p=12修改的是p指向的地址(也就是a的地址),因为const cast 去掉了a的const属性,所以a的值可以改变,但是这样的话a的值就不应该是10了,应该是12,第二种疑惑,因为a的值没有改变,而且a的地址和p指向的地址相同,所以可以推断出p还是指向a,那么如果是这样的话*p=12,12的地址并不在a的地址,那么12的地址在哪里

正在回答 回答被采纳积分+3

1回答

quickzhao 2020-07-29 09:05:13

请将你的代码截图弄清晰点,无法看清整体,谢谢。

0 回复 有任何疑惑可以回复我~
  • 提问者 我是笨笨蛋 #1
    修改过了,现在可以看清吗
    回复 有任何疑惑可以回复我~ 2020-07-29 12:06:38
  • quickzhao 回复 提问者 我是笨笨蛋 #2
    指针p指向a的位置,p修改值时a的值会变;但是根据const的要求,如果你打印a的值则会保证其赋值时的值,但真实的内存信息已变。至于为什么打印的值不变,你看看汇编代码就明白了。
    回复 有任何疑惑可以回复我~ 2020-07-29 13:46:42
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信