const类型变量
--------------------------------------
int i;
const int *p;
--------------------------------------
int i;
int *const p = &i;
--------------------------------------
int i;
const int *const p = &i;
三者有何区别呢?
--------------------------------------
1. const int *p;
const用来修饰int *, *p的内容不可变。
比如你定义了const int *p = 5;
那么你再对p的内容赋值就是不合法的:*p = 6; //错误
2. int *const p = &i;
const用来修饰p, 指针p的地址不可变。
int i = 0;
int j;
int *const p = &i;
p = &j; //错误
i = 1; //正确
3.const int *const p = &i;
限制了指针指向的内容和指向的地址。