1. 程式人生 > >int *const p和 int const *p 的區別

int *const p和 int const *p 的區別

對於int *const p;

const 限定的是p所指的物件,所以p指標所指的地址在這個情況下是不能改變的

對於 int const *p;

const限定的是*p,所以*p所 指的值是不可以改變的,但是可以改變p所指的物件

更多的列子如下:

const int const *x = &y:指標所指向的記憶體不可變,記憶體中的值也不能通過指標改變;
int * const x = &y:指標所指的記憶體不能改變,記憶體中的值可以改變
const int *x = &y:指標所指的記憶體可以改變,記憶體中的值不能改變
int const *x = &y:指標所指的記憶體可以改變,記憶體中的值不能改變
const int * const x = &y:指標所指的記憶體不能改變,記憶體中的值也不能改變。