常量指標:顧名思義就是指向常量的指標。使用常量指標可以防止使用該指標來修改所指向的值。宣告形式為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
可以有效避免無意間修改資料導致的錯誤指標常量:即資料型別為指標型別的常量。將指標本身定義為常量,可以防止改變指標所指向的位置。宣告形式為type* const pt使用const作為函式形參,可接受const和非const型別實參,否則無法接受const實參
。
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 ...