若有错误,还望各位大佬告知,谢谢!
有这样一段代码:
int num1 =10;
int num2=20;
int *p =#
p代表的是 指向 通过以下代码可以证明 :
p=&num2;
现在有3种const 表示形式:
//第一种形式:
int *const p;
//第二种形式:
const int *p;
int const *p;
//第三种形式:
const int * const p
int const * const p
我们一 一 解析
首先 我们理解一下 代码都是从右向左结合 const 和* 级别相同 意思就是说 const 和* 的位置很关键。
我们把const分为 在 *左边 在*右边 在*两边 这三种 。
第一种:int *const p const在*右边
前面说过,p代表的是指向 const先和p结合 限定了指向
那么就有这样的分析:
- 指向的数据可以改变 :*p =666;//正确
- 指向不能改变:p=&num2;//错误
第二种:const int *p 和int cons