const修饰指针一共有三种情况:
1.const修饰指针——常量指针
2.const修饰常量——指针常量
3.const既修饰指针,又修饰常量
一、常量指针
特点:指针的指向可以修改,但指针指向的值不能修改
例:
const int * p = &a;
*p = 20; (错误)
p = &b; (正确)
二、指针常量
特点:指针的指向不可以修改,但指针指向的值可以修改
例:
int * const p = &a;
*p = 20; (正确)
p = &b; (错误)
三、const既修饰指针,又修饰常量
特点:指针的指向和指针指向的值都不可以修改
const int * const p = &a;
*p = 20; (错误)
p = &b; (错误)