指针常量
也叫做指向常量的指针
int x = 10;
const int *p = &x;
// *p = 1; // 这个编译不过
int y = 2;
p = &y; // 编译通过
记法:
普通指针是int *p = &x
,那么在里这就可以看作一个整体,*p
打印出来是x的值,可以把他看成是一个和x等价的值,const修饰这个值,所以*p不能被修改,只能改x。
常量指针
int x = 10;
int *const p = &x;
*p = 20; // 编译通过
这个别记了真的,听劝,记住一个只能修改地址,一个只能修改值就行了,上面的能修改p指向的地址,下面这个只能修改地址保存的x值