C 中const的使用

2021-08-20 17:30:08 字數 1428 閱讀 5961

1)const 修飾全域性變數:(倘若定義的全域性變數值不需改變,用const來修飾是個好的習慣)

例如:

const  int value =1;//也可以寫成int const value =1;形式
同樣,也可以是使用define

例如:

#define value 1
//相較於使用define,const的優勢在於,編譯器並不為const 常量分配儲存空間,而是將其儲存在符號表中,故沒有儲存和讀記憶體的操作,提高了效率;const修飾的量有資料型別,可以對const進行型別安全檢查;

//相較於使用const的優勢,#define可以對型別進行封裝,使用起來更靈活

例如:

#define  myint  int
還有第三種形式,就是使用列舉型別:

例如:

enum  open_code;//這種形式等價於 const int value =1;
2)const修飾區域性變數:

例如:

int func()

3)const修飾指標變數:

a.指標常量

例如:

char* const ch;      //const修飾ch,故ch指標不能再指向別處,例如ch++;(錯誤)
b.常量指標

例如:

const char* ch;      //const修飾*ch,故*ch不能再變化,例如*ch++;(錯誤)
4)const 在函式引數中使用

例1:

int func(const char* ch)

//*ch 的作用域在函式內部,故*ch的內容不會被改變,即實參的內容不會被改變;此時const的作用,就是保證實參不會被函式內改變值。

例2:

int func(char* const ch)

//同例1類似,ch是指標,此時ch++;是不允許的,即在函式內部指標不會重新指向新的變數,對於實參來說,實參指標也不會重新指向新的變數;

5) const修飾函式返回值

例如:

const char* func()

const char* type  =func();//此時必須要新增const,因為函式的返回值是個const

注意:乙個常量只能賦給乙個常量;例如5)中的形式

但是乙個變數卻可以賦給乙個常量;例如4)中函式的實參可以是常量:

形如:

char* str =」hello world」;

func(str);

總結:const 使用是為了使錯誤在編譯的時候就被發現,而不至於等到程式執行時發生意想不到的錯誤。

C中CONST的使用

基本解釋 const是乙個c語言的關鍵字,它限定乙個變數不允許被改變。使用const在一定程度上可以提高程式的健壯性,另外,在 別人 的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下...

c中const的使用

const關鍵字 int const p和const int p的功能一樣,都是p指向的物件不能通過p指標改變,p可以變 即 p為常量,不可以改變,而指標p為變數可以更改。int a 1 int b 2 int const p1 p1 a p b 可行 p1 3 不可以 int const p宣告中...

C中CONST的使用

基本解釋 const是乙個c語言的關鍵字,它限定乙個變數不允許被改變。使用const在一定程度上可以提高程式的健壯性,另外,在 別人 的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下...