const修饰指针主要分为以下3种情况(以C++为例)
来源小破站:const修饰指针
const修饰指针——常量指针
指针的指向可以修改,但指针指向的值不能修改
int a = 10;
int b = 10;
//常量指针
const int *p = &a;
*p = 20; //错误,指针指向修改的值不能
p = &b; //正确,指针的指向可以修改
const修饰常量——指针常量
指针的指向不能修改,指针指向的值可以修改
int a = 10;
int b = 10;
//指针常量
int* const p = &a;
*p = 20; //正确,指针指向的值可以修改
p = &b; //错误,指针的指向不能修改
const既修饰指针,又修饰常量
指针的指向不能修改,指针指向的值也不能修改
int a = 10;
int b = 10;
//const既修饰指针,又修饰常量
const int * const p =&a;
*p = 20; //错误,指针指向的值不能修改
p = &b; //错误,指针的指向不能修改