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

为什么是p不是*p?

int a=0;

int *p=&a;


int *&q=p;


*q=5;

这里的*&q=p为什么是p而不是*p?


正在回答

3 回答

声明 q 时前面的 & 代表 q 是个指针引用,所以要用一个指针来初始化。 这样q就是指针p的引用了。

引用有点“别名”的意思,你对q的操作等同于对p的操作。

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

神迹 提问者

非常感谢!
2015-11-15 回复 有任何疑惑可以回复我~

*p代表a的值,而p是指向a的地址,所以说你不可能把a的值当做地址传给q吧那样就成一个不明确的地址,就没意义了!

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

5555

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

举报

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

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

进入课程

为什么是p不是*p?

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