C 常量指標 指標常量

2021-10-02 02:27:23 字數 1232 閱讀 8859

常量指標:顧名思義就是指向常量指標。使用常量指標可以防止使用該指標來修改所指向的值。宣告形式為const type *pt

或type const *pt

// 不希望函式內部修改引數的值(或者說是函式呼叫的值),例如求和但不希望改變原來的值

intsum

(const

int*pa,

const

int*pb)

//------------------------

int value =10;

const

int const_value =9;

// const變數

int*pt =

&const_value;

// invalid 將const變數的位址賦給常規指標,不可行

//補充解釋:若允許這樣賦值,則可以通過pt來修改const_value的值,這使得變數定義的const很荒謬

const

int*pt_const =

&const_value;

// valid 將const變數的位址賦給const指標,可行

注:能用就盡可能使用const

可以有效避免無意間修改資料導致的錯誤

使用const作為函式形參,可接受const和非const型別實參,否則無法接受const實參

指標常量:即資料型別為指標型別常量。將指標本身定義為常量,可以防止改變指標所指向的位置。宣告形式為type* const pt

int num;

int*

const p_num =

#

指向常量的指標常量:名字聽起來繞,解釋一下就是——本身是乙個常量,型別為指標型別,它所指向的物件乙個常量。宣告形式為const type* const pt

const

int value =10;

const

int*

const pt =

&value;

C 常量指標 指標常量

const char p 常量指標,指向一塊區域,這塊區域不可寫,只能讀。char const p 指標常量,指向一塊區域,這塊區域可讀可寫,但是指標的值初始後就不能改,類似於一般常量。const char const p 上面兩種型別的綜合,指標指向的區域不可寫,可讀。指標初始化後不能改。至於有什...

C 指標常量 常量指標和常指標常量

1 指標常量 如果在定義指標變數時候,指標變數前用const修飾,被定義的指標變數就變成了乙個指標型別的常變數,指標型別的常變數簡稱為指標常量。格式如下 資料型別 const 指標變數 變數名 修飾符const與指標變數緊鄰,說明指標變數不允許修改,既然指標變數的值不能修改,所以一定要在定義的時候給...

c 指標常量 和 常量指標

指標常量 指向常量的位址,不允許改變指向位址,指向位置的變數值能被改變 p不可以變 const p 常量指標 指向常量的指標,指標指向的物件不能通過這個指標來修改,可是仍然可以通過原來的宣告修改,也就是說量指標可以被 賦值為變數的位址,之所以叫做常量指標,是限制了通過這個指標修改變數的值 cont ...