const char *p;char * const p;const char * const p;

前言

const 限定符,它把一个对象转换成一个常量,而常量不能修改。


一、 const char *p;

const修饰*p,所以 *p在等号左边的操作都是不合法的,因为 *p不可变,此时不能用 *p来修改(eg: *p = 10; 不合法),但是p可变,p可以转向。

二、 char * const p;

const修饰p,所以 p在等号左边的操作都是不合法的,因为 p不可变,此时不能用 p来修改(eg: p = &a; 不合法),p不能转向,但 *p可变,此时允许 *p来修改其值。

三、 const char * const p;

const修饰*p和p,所以 *p和p在等号左边的操作都是不合法的,因为 *p不可变,此时不能用 *p来修改,而且p也不可变,不可以转向。(eg: *p =10;和 p = &a;都不合法)

总结

const 限定符,它把一个对象转换成一个常量,而常量不能修改。所以,根据const修饰的对象,可以确定对象是否可以修改。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值