您的位置:首页 > 其它

const指针和指向const对象的指针

2014-11-02 11:13 232 查看
从题目中看,哇,好拗口,一口气可以讲下来的人可以去试试相声了。Well,书归正传。

首先从字面上看,这是两个不同的指针。

1.指向对象的const指针

const中文意思是常量,那“const指针”也就是指针本身就是常量,既然是常量就不可以改变。例如"char *const point","point"这个指针是指向char型数据的,而且是不可以改变的。

char a,b;

a=‘a’,b='b';

char* const point=&a//注意此处point是一定要赋初值的

point=&b;//错误,point本身是常量,常量就不可以改变,“他”的一生都要指向变量a这个空间的

*point=b;//对的相当于a='b';也就是说a这个空间里的数据是可以改变的;

2.指向const对象的指针

此处的指针式普通的指针,但要注意的是“他"指向的对象本身是const的是不可以修改的,但指针是可以改变的。

char a,b;

a=‘a’,b='b';

const char* point;//此处point是不用付初值的

point=&b;//正确,point本身是普通指针,可以换指向的

*point=b;//错误,point指针指向的是不可改变内容的空间,不能向空间重新赋值的;

还有一种指向const对象的指针表达方式:

char const * point;

小心得:只有const 和 point 之间没有任何插入项时才是常量指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: