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

const与指针

int a=10;

const *p=&a;

令p=&b(b=1),那么*p=?

正在回答

5 回答

const int * p;  不能 改变*p   就是不能*p=2  等等之类的
int * const p; 不能 改变p   就是不能p=&x  等等之类的

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

const int * p;我理解的是 p指针的变量地址可以随意变,但不可以用p指针改变所指向变量的值

你那里*p = 1

但不可以再用*p = 3  这样编译会报错

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

*p = 1;常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说常量指针可以被赋值为变量的地址,之所以叫做常量指针,是限制了通过这个指针修改变量的值。

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

sorry,我上面那条回答最后一句答错了,请忽略...

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

const int * p; //p指针所指向变量的值不可变
int * const p; //p指针所指向的变量地址不可变

所以你那里的p是不可以再赋一个新的变量地址的。这句p=&b 会报错的

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

举报

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

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

进入课程

const与指针

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