定义变量
int a = 1;
const int b = 2;
1. 将 普通变量地址 赋给 普通指针:
int * p1 = a; // 正确
2. 将 const变量地址 赋给 普通指针:
int * p2 = b; // 错误
// p2是普通指针,意味着可以通过p2修改b的值,而b为const,不可修改,造成权限冲突
// 如果一定要这么做,可以使用强制类型转换const_cast
3. 将 普通变量地址 赋给 指向const的指针:
const int * p3 = a; // 正确
4. 将 const变量地址 赋给 指向const的指针:
const int * p4 = b; // 正确