char *与char[]的区别(c,c++不可以修改char *初始化值)

原因:
char *p="hello“;
*(p+2)='w';
这里的p是一个指向常量字符串的指针
他可以相当与:const char *p="hello"

根据定义:指向常量字符串的指针不能更改指针指向的内容,但是可以改变本身的值,既是执行*(p+2)='w'; (错误) p="bcvcbvv"(正确)

char pp[] = "hello";

这个相当与指针常量,就是本身是个常量<因为pp就是数组的一个引用,引用本身就是指针常量>
相当与 char const *pp="hello";  

根据定义:指针常量不能改变本声的值,但是可以改变指向的值

既是 *(pp+2)='W'(准确) pp="mnbmbmb"(错误)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值