指针常量和常量指针简单区分理解

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

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

主体为常量,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;//错误,指向的常量是不可改的。
发布了127 篇原创文章 · 获赞 113 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/z2431435/article/details/104387761
今日推荐