C++中的指针常量和常量指针的特点与区别

首先,先来了解两种指针的声明方式:

常量指针(const修饰指针)
const int* p = &a;
指针常量(const修饰常量)
int* const p = &a;
区分技巧:
const放在*号的左边是常量指针,const放在*号的右边是指针常量

接下来再说一下这两种指针之间的特点与区别:

常量指针:指针的指向可以修改,指针指向的值不可以修改

指针常量:指针的指向不可以修改,指针指向的值可以修改

两种指针的特点与区别刚好是相对应的

举一个形象的例子

先把指针理解为开房子的钥匙,变量为房子

常量指针就相当于用钥匙(指针)可以打开(指向)任何一个房子(变量),但是不可以弄乱(修改)原先房子的布局(变量的值)

指针常量刚好相反,可以随意弄乱(修改)原先房子的布局(变量的值),但是钥匙(指针)只能用来打开(指向)这个房子(变量),不能再用来打开(指向)其他的房子(变量)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值