您的位置:首页 > 其它

const char*, char const* and char *const

2009-04-01 15:48 267 查看
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" 声明一个指向 (可变)字符的指针常量, 就是说, 你不能修改指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: