指向const的指针与const指针

(1)指向const的指针:有两种写法

const int *x;

int const *x;

x是一个指针,它指向一个const int。这里不需要初始化,因为x可以指向任何东西,

但它所指的东西是不能被改变的。

 

(2)const指针

使指针本身成为一个const指针,必须把const放在*的右边。如下:

int d = 1;

int e = 3;

int *const x = &d;

x是一个指向int的const指针。因为现在指针本身是const指针,

所以必须要给其一个初始值,这个值保持不变。然而要改变它

所指向的值是可以的,可以这样*x = 2;而不能x = &e;

 

事实上,指针符号*是与标识符结合,而不是与数据类型结合的。

所以,下面语句:

int* u, v = 0;

定义了一个int型指针u和一个int型变量v(v不是指针)。

如果想把v也定义为指针须这样写:int* u, *v =0;

 


你可能感兴趣的:(指向const的指针与const指针)