C const 和 指標 的用法

2021-10-04 19:14:07 字數 1515 閱讀 6743

const 和 指標 組合在一起有2大 類,共4 種形式。

參考《c++ primer》

常量本身不能被修改,也不能通過指標去修改。

注意事項:只要所指的物件常量,必須要用const放在* 左邊來修飾指標,而不能使用普通的指標。

const int i = 3;//定義乙個常量

const int j = 4;

const int *ptr = &i;// const 在 * 的左邊, 指向常量pi

int * ptr2 = &i;//錯誤,物件為常量時,必須使用const修飾,而不能使用普通的指標

pi = 4;//錯誤,常量本身不能被修改

*ptr = 4;//錯誤,也不能通過指標 ptr 改變 i 的值

ptr = & j;//正確,指標可以指向其他的位址

變數自身可以被修改,但是不能通過指標去修改變數的值.

int i = 3;//定義乙個普通變數

int j = 4;

const int *ptr = &i;// const 在 * 的左邊, 指向普通變數

pi = 4;//正確,普通變數自身可以被修改

*ptr = 42;//錯誤,不能通過 指標ptr 去修改普通變數 pi 的值

ptr = &j;//正確,ptr可以指向其他的位址

指標被初始化以後,不能再指向其他的物件。

該指標可以指向常量,並且不能用指標修改常量的值。如(1)中的注意事項所言,這種時候必須在* 前也要使用const來修飾,

const int i = 3;//定義乙個常量

const int j = 4;

// 第乙個const 在 * 的左邊, 代表指向常量i;第二個const在 * 的右邊並且ptr只能指向i,不能指向其他值;

const int *const ptr = &i;

*ptr = 4;//錯誤,不能通過指標 ptr 改變 i 的值,因為i 是常量。

*ptr = &j;//錯誤,常量指標ptr 只能指向 i,而不能指向其他的值

該常量指標可以指向變數。指標不能再指向其他的物件,但是可以通過該指標修改變數的值。

int i = 3;//定義乙個變數

int j = 4;

int * const ptr = &i;// const 在 * 的右邊, 並且ptr只能指向i,不能指向其他值;

*ptr = 4;//正確,可以通過常量指標 ptr 改變 變數 i 的值

*ptr = &j;//錯誤,ptr只能指向i,而不能指向其他的值

C const修飾引用和指標

測試 void constbeforefunction const double x,const std array d condition,const std array s condition 以下報錯 x 1.0 d condition at 0 1 d condition at 1 2 d ...

C const用法總結

const名叫常量限定符,用來限定特定變數,以通知編譯器該變數是不可修改的。使用const,可以避免在函式中對某些不應修改的變數造成可能的改動。非const 變數預設為extern,這樣就不可以被程式其它檔案訪問,要想const變數能夠被在其他的檔案中訪問,必須顯式地指定它為extern,如exte...

c const用法總結

看了好多博主寫的關於const的總結,總是仁者見仁,智者見智,好多博主都多多少少的有一些錯誤,在這總結一下c const的用法,我的文章中也可能會有錯誤,望指正!一.定義常量 1 const修飾變數 int const a 5 const int a 5 這兩種定義方法是一樣的,都是不希望a的值發生...