const char*, char const* and char *const

char   const   *p指针p所指的内容不能改   
char * const p指针自己的内容不能改   
如:   
char   str   =   'j';   
char   str2   =   'f';   
char   const   *p   =   &str;             
*p   =   'q';           //不能改   
p   =   &str2;         //可以   
char   *   const   m   =   &str;   
m   =   &str2;         //不能改   
*m   =   'e';           //可以

const char *p 与 char const *p是等价的,表示指针指向的内容是不变的!   
而char   *   const   p   是表示指向P的指针值是不可变的!~!   
可以这样记:   
const   在*之"前"表示内容不变   
const   在*之"后"表示指针不变

char  * const cp; ( * 读成 pointer to ) 
cp is a const pointer to char 

const char * p; 
p is a pointer to const char; 

char const * p; 
同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。 

``const char *p" (也可以写成 ``char const *p") 声明了一个指向字符常量的 指针, 因此不能改变它所指向的字符; ``char * const p" 声明一个指向 (可变)字符的指针常量, 就是说, 你不能修改指针。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值