首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

char * const p char const * p const char *p 上述三个有什么区别?该怎么处理

2012-05-22 
char * const pchar const * pconst char *p 上述三个有什么区别?char * const pchar const * pconst char

char * const p char const * p const char *p 上述三个有什么区别?
char * const p char const * p const char *p 上述三个有什么区别? 

char * const p; p为指向字符变量的指针,地址不变,地址内容可变

const char *p;p为指向字符变量的指针,地址可变,地址内容不变

char const *p;p代表什么?

[解决办法]
char const *p == const char *p;
一种东西两种表示。

主要区别是const 和 * 位置的区别。
[解决办法]

char const *p; 与 const char *p; 等价,只是个人的书写习惯
[解决办法]
char const *p;p代表什么?
P还是地址,
[解决办法]
*在const前表示指针为常量,只能初始化,初始化后就不能再指向别的地址,但是可以改变指针指向的变量的值。
const在*前面,表示指针指向的值为常量,但是指针可以指向不同的变量。
[解决办法]
const * p (不管char的位置,中文翻译就是常量的指针, 从左往右读)
* const p (一样从左往右读,指针常量)

各自含义楼上说的很好

记住还有一种

const char * const p (指针不能变,指的量也不能变)
[解决办法]
从右往左读,看const离哪个近就修饰哪个

热点排行