这篇可以和指针常量以及常量指针一块来看
1,指向常量的指针变量
int const *p;
因为此时p可以变,而指向的对象不能变,所以叫做指向常量的指针变量
int a = 10;
int const *b = &a;
int c = 20;
b = &c;
//*b = c; 错误,b是指向常量
2,常量指针
int *const p;
p是一个常量,而且是一个指针,所以p的只有常量指针
int a = 10, c = 20;
int *const aa = &a;
*aa = c;
//aa = &c; 错误aa是一个常量
3,指向常量的常量指针
int const * const p;
可以很明显的看出*p和p都不能变,所以此时是指向常量的常量指针
- const放在*左边,是一个指针变量指向常量;
- const放在*右边,是一个指针常量指向变量;
- const在*的左右两边都有,则是指针常量指向常量;