有关const指针

const作为一个类型限定词,和int有相同的地位。所以:
const int a;
int const a;
是等价的。

那么如何声明一个自身是常量指针呢?方法是让 const 尽可能的靠近p; (按离某个“量”的远近距离来判断)
int* const p;
const右面只有p,显然,它修饰的是p,说明p不可被更改。然后把 const去掉,可以
看出p是一个指向 int形式变量的指针。
于是
p+=8; //非法
*p=3; //合法


(4)修饰常指针
const int *A;     // const修饰指向的对象,A可变,A指向的对象不可变
int const *A;    // const修饰指向的对象,A可变,A指向的对象不可变
                  //只是,一般此种表达方式不常用,一般都用上面一种
int * const A;    // const修饰指针A, A不可变,A指向的对象可变 
const int * const A;     //指针A和A指向的对象都不可变

补充说明:*A 表示内容,因此在(*A)前作任何修饰,都是针对指针所指的内容——不管“修饰词”的顺序如何;而但个A表示指针,因此在(A)前面加任何修饰都是针对指针。

#¥*@)(()%&#@)&!+)@#——(¥%...........
 

你可能感兴趣的:(有关const指针)