Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8706177
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类: C/C++

2009-02-19 15:00:20

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" 声明一个指向 (可变)字符的指针常量, 就是说, 你不能修改指针。
阅读(1045) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-02-24 08:37:43

向右看,向左看 thinking in C++里面说很清楚了