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語言中乙個比較微妙的地方,微妙在何處呢?請看下...