當前位置:成語大全網 - 書法字典 - C++定義了壹個常量的關鍵字。

C++定義了壹個常量的關鍵字。

C++中的Const關鍵字是constant的縮寫,通常翻譯成constant、constant等。有些朋友看到const關鍵字馬上想到常量。其實const在C語言中是很強大的。它可以修飾變量、數組、指針、函數參數等等。

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的值被修改,程序報錯。

其他聲明

}