注册 登录
编程论坛 C++教室

求助 一些关于指针的问题

greentoxic 发布于 2011-05-25 14:31, 413 次点击
1    const char *p
2    char const *p
3    char * const p
4    const char **p
5    char *const *p
6    char ** const p

不理解啊 帮我解释一下
先在 这里 有礼了
5 回复
#2
rjsp2011-05-25 15:47
这有什么不好理解的,记住两点
第一点: const type value 等同于 type const value
第二点:const type value 是说 value 为 const
再复杂的声明也逃不出上面两点
1。说明 *p 是 const (p不是const,下次不特意说明)
2。同1
3。说明 p 是 const (*p不是const,下次不特意说明)
4。**p 是 const
5。*p 是 const
6。p 是const
#3
greentoxic2011-05-25 18:09
1。说明 *p 是 const (p不是const,下次不特意说明)
   // 也就是说 *p 这个指针是常量所指向的值不能改变了,然而地址是可以改变的 是这个意思吗?
#4
Toomj2011-05-26 09:09
1)、const在前面  
 const int nValue; //nValue是const  
 const char *pContent; //*pContent是const, pContent可变  
 const (char *) pContent;//pContent是const,*pContent可变  
 char* const pContent; //pContent是const,*pContent可变  
 const char* const pContent; //pContent和*pContent都是const   
2)、const在后面,与上面的声明对等  
 int const nValue; // nValue是const  
 char const * pContent;// *pContent是const, pContent可变  
 (char *) const pContent;//pContent是const,*pContent可变  
 char* const pContent;// pContent是const,*pContent可变  
 char const* const pContent;// pContent和*pContent都是const
#5
greentoxic2011-05-26 11:28
多谢 多谢
#6
crystal1112011-05-27 23:28
回复 2楼 rjsp
解释的蛮好的
1