指针常量和常量指针简单区分理解简单粗暴的区分指针常量和常量指针

指针常量(指针本身就是常量)

主体为常量,const放 * 后面,形如:int * const x。
因为指针本身就是常量,所以指向的地址不可改变,但地址里的内容可改,指针关键就在地址。

int a=1,b=2;
int * const x;
x=&a;//错误,指针常量本身是指针,不可变指的是地址不可变
*x=b;//正确,地址内容即值是可变的

常量指针(指向常量的指针)

主体为指针,const放 * 前面,形如:const int * x。
指针本身不是常量,常量不可改值得是它指向的那个常量是不能改的,但指针本身就是一个地址,又不是常量,变了也没关系。

int a=1,b=2;
const int *x;
x=&a;//正确,指针可以指向任意同类型
*x=b;//错误,指向的常量是不可改的。

哪个放在后面哪个是主体,更重要一些

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容