1.const plemtype +變數名
用const限定符定義物件的時候,該物件是不可修改的,因此必須在定義時初始化,如:
const int a = 5;
const int b;//erro
2.定義const型別引用
const型別的引用必須指向const型別物件,如:
int a;
const int b;
const int &r_a = a; //erro
int &r_b = b; //erro 因為一般引用可以修改,規定普通引用不可以繫結const物件
const int &r_b = b; //ok
3.指向const物件的指標
(1)指向const物件的指標必須也具有const屬性,如
const int a;
int *p = &a;//wrong
const int *p = &a;//ok,不能通過*p修改a的值,但是p可以指向其他int型物件,包括非const的,但不可通 過其改變該物件值
4.const指標
(1)int a = 0;
int *const p = &a;//p不可再指向其他物件,值不可修改,因此需要定義時初始化
(2)能否通過p改變a的值取決於a本身,此處可以。如果a為const物件,則不可以
5.指向const物件的const指標
const int a = 0;
const int *const p = &a;//既不可以修改a,也不可以修改p指向
attention:
const變數為程式的區域性變數,
原因是const變數可以定義在標頭檔案中
。而對於其他一般物件,定義應該在原始檔中,繼而在標頭檔案使用extern宣告。當const物件定義在file1.c中,可通過指定其為extern,然後在其他檔案訪問。如:
const int a = 10;
extern const int a;
for(int i = i;i
const 用法小結
const用法小結 關於c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性。1.const常量,如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全檢查,而對後者只進行字元替換,沒有型別安全檢查,並且在...
const用法小結
關於c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性,參考了康建東兄的const使用詳解一文,對其中進行了一些補充,寫下了本文。1.const常量,如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全...
Const用法小結
關於c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性,參考了康建東兄的const使用詳解一文,對其中進行了一些補充,寫下了本文。1.const常量,如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全...