指標常量和常量指標

2021-10-14 03:45:27 字數 831 閱讀 4042

指標* 和 const 誰在前先讀誰 ; * 象徵著位址,const象徵著內容; 誰在前面誰就不允許改變。例如:

int const *p1 = &b; //const 在前,定義為常量指標

int *const p2 = &c; // *在前,定義為指標常量

常量指標是指指向常量的指標,顧名思義,就是指標指向的是常量,即,它不能指向變數,它指向的內容不能被改變,不能通過指標來修改它指向的內容,但是指標自身不是常量,它自身的值可以改變,從而指向另乙個常量。

指標常量是指指標本身是常量。它指向的位址是不可改變的,但位址裡的內容可以通過指標改變。它指向的位址將伴其一生,直到生命週期結束。有一點需要注意的是,指標常量在定義時必須同時賦初值。

#include

// 指標常量:本質上是就是「指標是個常量」

intmain

(void

)

#include

// 常量指標:本質上是就是指標,指標的指向是個常量

intmain

(void

)

傳指標時,通常作為形參使用,例如,

static

void

fds_evt_handler

(int

const

* p_evt)

我們將乙個指標做實參,在函式體 fds_evt_handler 內,不希望改變過變數的值,就可以在形參中使用常量指標

指標 常量指標和指標常量

const關鍵字宣告乙個常量,常量宣告後不能修改。類似的,我們可以宣告常量指標 double radius 5 double const pvalue radius pvalue 4 可以修改其中pvalue是乙個常量指標,其宣告和初始化必須在同一條語句中,後面的程式不能為其賦予新的位址。注意,雖然...

常量指標 和 指標常量

在c 的學習中,有人經常搞不清楚 常量指標 和 指標常量 這兩個概念。其實簡單一點講,常量指標 所指向的位址上的資料是常量,而 指標常量 所指向的位址是常量,位址上面的資料是可以變化的。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。指標常...

常量指標和指標常量

定義 具有只能夠讀取記憶體中資料,卻不能夠修改記憶體中資料的屬性的指標,稱為指向常量的指標,簡稱常量指標。宣告 const int p int const p 注 可以將乙個常量的位址賦值給乙個對應型別的常量指標,因為常量指標不能夠通過指標修改內粗資料。只能防止通過指標引用修改記憶體中的資料,並不保...