const用法小結

2021-06-22 12:33:19 字數 1027 閱讀 8239

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常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全...