修飾變數
c語言中採用const修飾變數,功能是對變數宣告為唯讀特性,並保護變數值以防被修改。舉例說明如下:
const int i = 5;
上面這個例子表明,變數i具有唯讀特性,不能夠被更改;若想對i重新賦值,如i = 10;則是錯誤的。
值得注意的是,定義變數的同時,必須初始化。定義形式也可以寫成int const i=5,同樣正確。
此外,const修飾變數還起到了節約空間的目的,通常編譯器並不給普通const唯讀變數分配空間,而是將它們儲存到符號表中,無需讀寫記憶體操作,程式執行效率
也會提高。
修飾陣列
c語言中const還可以修飾陣列,舉例如下:
const int array[5] = ;
array[0] = array[0]+1; //錯誤
陣列元素與變數類似,具有唯讀屬性,不能被更改;一旦更改,如程式將會報錯。
修飾指標
c語言中const修飾指標要特別注意,共有兩種形式,一種是用來限定指向空間的值不能修改;另一種是限定指標不可更改。舉例說明如下:
int i = 5;
int j = 6;
int k = 7;
const int * p1 = &i; //定義1
int * const p2 =&j; //定義2
上面定義了兩個指標p1和p2。
在定義1中const限定的是*p1,即其指向空間的值不可改變,若改變其指向空間的值如*p1=20,則程式會報錯;但p1的值是可以改變的,對p1重新賦值如p1=&k是沒有任何問題的。
在定義2中const限定的是指標p2,若改變p2的值如p2=&k,程式將會報錯;但*p2,即其所指向空間的值可以改變,如*p2=80是沒有問題的,程式正常執行。
修飾函式引數
const關鍵字修飾函式引數,對引數起限定作用,防止其在函式內部被修改。所限定的函式引數可以是普通變數,也可以是指標變數。舉例如下:
void fun1(const int i)
void fun2(const int *p)
C語言中const關鍵字
c語言中const關鍵字是constant的縮寫,翻譯為常量,常數的意思,主要作用如下 c語言中使用const修飾變數,主要是對變數宣告為唯讀特性,並保護變數以防止被修改。例如 const i 5 變數i只具有唯讀特性,不能夠被更改,若想重新對i進行賦值,如i 10 是不可行的。c語言中const還...
c語言中const 關鍵字的理解
對於非指標變數的修飾,const可以放在型別的前面,也可以放在型別的後面,例如 int const myint 或者 const int myint 他們所表達的意思是一樣的,都是表示myint 是常量,不能再修改myint的值 對於指標變數的宣告,四種情況,以int為例 1.const int m...
C語言中const關鍵字的用法
關鍵字const用來定義常量,如果乙個變數被const修飾,那麼它的值就不能再被改變,我想一定有人有這樣的疑問,c語言中不是有 define嗎,幹嘛還要用const呢,我想事物的存在一定有它自己的道理,所以說const的存在一定有它的合理性,與預編譯指令相比,const修飾符有以下的優點 1 預編譯...