指针常量与常量指针区别 绝对能理解

问题引出:

在这里插入图片描述
根据const修饰既可以修饰值,又可以修饰指针
分为如下情况:
const int p; //p就是个常量,这个很熟悉
const int *p;
int const *p;
int * const p;
const int * const p;
int const * const p;

怎么读?

  1. 遇到const读作常量
  2. 遇到*读作指针

记忆特性技巧

  1. const*p之前代表 *p是个常量,*p不可修改
  2. const只是在p之前代表p是个常量,p不可修改

示例

根据怎么读的技巧:

  1. 遇到const读作常量
  2. 遇到*读作指针

那么 ②const int *p;读作常量指针 ,它有什么特点?

根据记忆特性技巧

  1. const*p之前代表 *p是个常量,*p不可修改
  2. const只是在p之前代表p是个常量,p不可修改

那么 ②const int *p;

  1. *p 不可被修改 *p = 20; (X)不允许
  2. p可修改 ,也就是 p = &a 操作允许

根据上面的分析,可以发现
const int *p;
int const *p;
是一个意思。

其他的就不在说明了。同理分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值