指向const物件的指標 const指標

2022-08-18 18:45:10 字數 1130 閱讀 7269

1. 指向const物件的指標指向const物件的指標是乙個指標,但是不能通過它來修改它所指向的物件的值。

宣告方法:

const int *p;

const指標物件在初始化後不允許對指標指向的物件的值進行修改,因此不能用乙個普通的指標指向乙個const

指標物件。否則,如果可以用普通指標修改const指標物件的值,那就失去了const的意義。例如:

const int i = 1;

int * p = &i;             // error!

const int *p = &i;    // ok!

需要注意的地方:

指向const物件的指標本身不是const型別,所以這個指標可以指向另乙個const物件;

指向const物件的指標可以被賦予乙個非const物件的位址,但是不能試圖通過此指標來修改該物件的值。

2. const指標

const指標就是乙個指標,但是它本身是const型別的。所以它初始化後不能再改變它的指向,即不能讓它再指

向乙個新的物件。

宣告方法:

int* const p;             // 指向非const物件的const指標

const int* const p;    // 指向const物件的const指標

const指標可以指向const物件和非const物件,但是兩者宣告方法不同。使用const指標不可以修改其位址值,但是const指標指向非const物件,可以利用它修改它所指向的物件的值。

要弄清以上兩者的區別,只要明確兩點:

1. 指標本身是const型還是非const型;

2. 指標所指向的物件是const型還是非const型。

const型別變數的值在初始化之後是不允許改變的,那麼const指標的指向就是不能改變的,const物件的值是

不能改變的。

為了區分上述的兩點,有乙個很簡單的方法:

如果指標名前緊鄰的關鍵字是const,那麼它就是乙個const指標;如果宣告指標所指向的物件型別前有const

關鍵字,那麼它就是乙個指向const物件的指標。

const int *p;

int * const p;

指向const物件指標 const指標

指向const物件指標 const指標 2010 07 22 16 40 1.指向const物件的指標 指向const物件的指標是乙個指標,但是不能通過它修改它指向的物件的值.宣告方法 const int p 指向const物件的指標在初始化後不允許對它指向的物件的值進行修改.const int i...

指向const物件指標 const指標

參見 110頁 陣列和指標 一節 指向const物件指標關鍵理解 const double cptr 指向const物件指標關鍵理解 可以指向非const物件,但不能通過該指標修改所指向物件的值,const指標關鍵理解 int const curerr errnumb const指標關鍵理解 cur...

const指標和指向const物件的指標

1.有關const指標和指向const物件指標的一道題 首先要說明的是怎麼來判斷const指標還是指向const的指標 如果const後面跟的是型別,那麼const是用來修飾物件的,所以它是指向const物件的指標 但是如果const後面跟的是指標本身,那麼const是用來修飾指標的,所以它是con...