const的指標的使用

2021-04-25 14:53:06 字數 691 閱讀 3072

宣告說明符號的順序是不重要的,事實的標準順序是:首先連線說明符,然後是型別限定符。如:

extern const int size=1024;//這是最正常的const使用

1)const  int* ptr=&size;

估計你第一時間就認為是指向整數的常量指標吧。其實這是指向常整數的指標,即指標可以修改,但指標指向的內容不能修改。

2)int * const* ptr;

這是個指向整數指標的指標,指向

整數的常量指標的指標,即整數可以改變,但是指向整數的指標是常量的,指向整數指標的指標卻也可以改變。

3)const int **ptr;

那這個呢?這是乙個指向常整數的指標的指標,即整數不能修改,整數的指標和指標的指標可以修改。不過在vc很奇怪的,必須要以乙個const**才能賦予ptr值,而其他都不用,不過按照編譯器指示就通過編譯就行了。如:

int a=10;

const  int *b=(&a);

const int **ptr=&b;

4)const int * const* ptr;

這又是什麼怪物呢?這是指向常量整數的常量指標的指標,就是說無論整數和指向整數的指標都是不可變的。

可能很多情況之下不需要那麼執著這個關鍵字,不過某些公司招聘就喜歡出一些刁難的題,所以特意研究這個關鍵字,比較笨,花了乙個小時才終於悟出了其道理。

使用 const 修飾的指標

在c 中,可以使用 const 來修飾乙個指標,如 第一種形式 const int ptr 第二種形式 int const ptr 第三種形式 const int const ptr 第一種形式,指示乙個指標不能修改指標所指向物件的內容,但可以修改指標所指向的物件 第二種形式,指示乙個指標不可以修改...

const 指標與指向const的指標

當使用帶有const的指標時其實有兩種意思。一種指的是你不能修改指標本身的內容,另一種指的是你不能修改指標指向的內容。聽起來有點混淆一會放個例子上來就明白了。先說指向const的指標,它的意思是指標指向的內容是不能被修改的。它有兩種寫法。const int p 推薦 int const p 第一種可...

const 指標與指向const的指標

當使用帶有const的指標時其實有兩種意思。一種指的是你不能修改指標本身的內容,另一種指的是你不能修改指標指向的內容。聽起來有點混淆一會放個例子上來就明白了。先說指向const的指標,它的意思是指標指向的內容是不能被修改的。它有兩種寫法。const int p 推薦 int const p 第一種可...