常量指针和指针常量的区别

本文介绍了C++中const关键字在指针上下文中的两种用法。当const位于*左边时,它修饰的是指针所指向的内容,禁止通过指针修改该内容。而当const位于*右边时,它修饰的是指针本身,意味着指针变量不可变,但其指向的内容可变。文章通过示例代码解释了这两种情况下的合法与非法操作。
摘要由CSDN通过智能技术生成

常量指针

如果const放在*号的左边则const修饰的是*p,表示指针指向的内容是不能通过指针来改变的

例如:

const int num =60 ; int n =100 ;

const int *p=& num;

*p =20;   //报错,常量指针指向的内容是不能通过指针来改变的

p= &n;    //合法行为,虽然指针指向的内容不可以改变,但是指针指向的地址可以改变即指针变量                  可以发生改变。

指针常量

如果const放在*号的右边则const修饰的是指针变量 p,表示指针指向的内容是可以通过指针来改变,但是指针变量不可以发生改变。

例如:

const int num =10 ; int n= 100;

int * const p=& num;

*p=50;                  //合法行为,指针常量指向的内容是可以通过指针来改变

p= &n;                 //报错,指针常量的指针变量不可以发生改变

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值