为了账号安全,请及时绑定邮箱和手机立即绑定

练习3-3的解析什么意思?

解析说指针指向const修饰的变量时,应该用const int const *p=&a,但是const int *p和int const *p不是一个意思吗?不太懂解析

正在回答

2 回答

但是视频上说 const int *p和int const *p没有区别啊,区别指针常量和常指针不是区别*在const左边还是右边吗?

0 回复 有任何疑惑可以回复我~

谢邀。

首先要明确const修饰变量的两种概念.

其一就是指向常量的指针,const int *p,顾名思义,指向常量的指针常量的值不能被修改。

其二就是常指针               ,int const  *p ,这里的常指针修饰的时p这个指针变量的地址 ,也就是说p的地址不能在被修改

还有一种综合案例也就是指向常量的常指针const int const *p ,归根结底,这里的p仍然是一个指针变量,这里把整型变量a的地址赋值给指针变量p,是没有毛病的。

毛病出在哪? int const a; 在这 通过二级指针的思想,类比上面两种概念就可以知道,现在我们不能对a的地址进行操作,所以会报错。

如果想实现相应的功能应该怎么做?const int const *p=&a,对正如答案所给即可

0 回复 有任何疑惑可以回复我~
#1

寅月 提问者

但是视频上说 const int *p和int const *p没有区别啊,区别指针常量和常指针不是区别*在const左边还是右边吗?
2017-08-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

练习3-3的解析什么意思?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信