const 關鍵字 | C語言

const 的定義

任何變量的聲明都可以使用const限定符限定。該限定符指定變量的值不能被修改。對數組而言,const限定符指定數組所有元素的值都不能被修改。

例如:

const double e = 2.71828182845905;
const char msg[] = "warning: ";

e = 3.14;       // 非法
msg[0] = 'a';   // 非法

const 也常用來修飾指針,表示指向區域的內容不能修改,例如:

int arr[10] = {0};
const int* p_arr = arr;

arr[0] = 1;         // 合法
p_arr[0] = 1;       // 非法

常量指針 與 指針常量

常量指針,表示變量是指針,指向常量,即指針指向的內存區域不可被修改。

int arr[10] = {0};
int arr_2[10] = {0};
const int* p_arr = arr;     // 聲明常量指針

arr[0] = 1;         // 合法
p_arr[0] = 1;       // 非法
p_arr = arr_2;      // 合法

指針常量,表示變量是常量,變量本身的值不能被修改。

int arr[10] = {0};
int arr_2[10] = {0};
int * const  p_arr = arr;     // 聲明指針常量

arr[0] = 1;         // 合法
p_arr[0] = 1;       // 合法
p_arr = arr_2;      // 非法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章