1. const修饰指针——常量指针
int a=10:
int b=10:
int *p=&a;const int* p=&a;
常量指针
特点:指针的指向可以修改,但是指针指向的值不可以改(p可以改,*p不可以改)*p = 20;错误,指针指向的值不可以改
p =&b; 正确,指针指向可以改
2. const修饰常量——指针常量
int a=10:
int b=10:
int *p=&a;int* const P=&a;
指针常量
特点:指针的指向不可以改,指针指向的值可以改(p不可以改,*p可以改)
*p =20;正确, 指向的值可以改
p=&b; 错误,指针指向不可以改
3. const即修饰指针, 又修饰常量
int a=10:
int b=10:
int *p=&a;const int * const P = &a:
特点:指针的指向和指针指向的值都不可以改(p和*p都不可以改))
*p = 20; //错误
p=&b; //错误