定义变量

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;  //  正确

 

posted on 2023-05-10 13:29  wkxnk  阅读(36)  评论(0编辑  收藏  举报