c++ 常量指针与指针常量

常量指针与指针常量,一般出现在函数的参数里面,传参的过程中。

  1. 常量指针(存放常量的地址的指针)
int num = 10;
int num2 = 18;

const int * p1 = #   // 等价于 int const * p1 = #
//*p1 = 24;             //不能修改指向位置的值。
p1 = &num2;            //可以修改指针的指向

const 修饰的是数据,而不是指针。
有个名字叫做p1的指针, 它存放一个常量数据的地址,这个数据和地址绑定,不能修改地址对应的值,但是p1指针可以存放其他同类型数据的地址。

  1. 指针常量
int * const p2 = #
*p2 = 36;               //能修改指向位置的值
//p2 = &num2;          // 不能修改指针的指向        

const 修饰的是指针,而不是数据。
有个名字是p2的指针,它是一个常量,它指向一份数据(存放该数据的地址),这份数据是一份int类型数据。
指针p2存放的是固定地址,但该地址和地址上的数据没有绑定,所以数据可以变化。

  1. 存放常量地址的指针常量
const int * const p3 = #
//*p3 = 48;                  //不能修改指向位置的值  
//p3 = &num2;                //不能修改指针的指向          

const 一边修饰的是指针,又一边修饰的是数据。
有个名字叫做p3的指针常量, 它存放一个常量数据的地址。
指针常量p3存放的是固定地址,该固定地址又和数据绑定,故既不能修改指针的指向,也不能修改指向位置的值。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值