1、?修飾變量:
Const用於修改C語言中的變量,其作用是將變量聲明為只讀特性,保護變量值不被修改。例子如下:
const int I = 5;
上面的例子表明變量I是只讀的,不能被改變。如果要給I賦壹個新值,比如I = 10;;這是錯誤的。
值得註意的是,在定義變量時,必須對變量進行初始化。定義形式也可以寫成int const i=5,同樣正確。
此外,const修飾變量也節省空間。通常編譯器不會為普通的const只讀變量分配空間,而是保存在符號表中,這樣就不需要讀寫內存操作,程序執行效率也會提高。
2、?裝飾陣列
C語言中的Const也可以修飾數組,例如:
const int array[5] = {1,2,3,4,5 };
array[0]= array[0]+1;//錯誤
數組元素類似於變量,具有只讀屬性,不可更改;壹旦改變,如程序將報告壹個錯誤。
3、?裝飾指針
C語言中,const要特別註意指針的修改。* * *有兩種形式。壹個是限制指向不可修改空間的值;另壹種是限制指針不可改變。例子如下:
int I = 5;
int j = 6;
int k = 7;
const int * p 1 = & amp;我;//定義1
int * const p2 = & ampj;//定義2
上面定義了兩個指針p1和p2。
在1的定義中,const定義了*p1,即其指向空間的值不可改變。如果它的指向空間的值改變了,比如*p1=20,程序會報錯。但是,可以更改p1的值。重新賦值p1,比如p 1 = &;k沒有錯。
在定義2中,const定義了指針p2。如果p2的值改變了,比如P2 = &;k,程序會報錯;但是*p2,也就是它所指向的空間的值是可以改變的。比如*p2=80沒問題,程序正常執行。
4、?修改函數參數
Const關鍵字修改函數參數以限制參數並防止它們在函數內部被修改。定義的函數參數可以是普通變量,也可以是指針變量。例子如下:
void fun1(const int i)
{
其他聲明
……
i++;//I的值被修改,程序報錯。
其他聲明
}
void fun2(const int *p)
{
其他聲明
……
(* p)++;//指向空格的p的值被修改,程序報錯。
其他聲明
}