C 概念性知識點之const限定符

2021-07-30 05:41:25 字數 652 閱讀 7986

如有不當之處歡迎批評指正

1.定義const物件

const限定符把乙個物件轉換成乙個常量。

const int a = 3;// ok

a = 0;// error,a在定義後其內容不能被修改

contst int b;// error,b應該被初始化

2.const物件預設為當前檔案的區域性變數

在全域性作用域裡定義的非const變數,它在整個程式中都可以訪問(在其他檔案中通過extern關鍵字可以訪問到);

在全域性作用域裡定義的const變數,它預設的作用域只有當前檔案(在其他檔案中通過extern關鍵字也不可以訪問到);

const int a = 3; // 只可以在定義a的當前檔案中使用
要想讓在全域性作用域裡定義的const變數也可以被其他檔案訪問到,必須在該變數定義的時候新增extern關鍵字。

extern const int b = 3; // 能在其他檔案中通過extern關鍵字訪問到
注意:非const全域性變數預設為extern,要是全域性const變數能在其他檔案中訪問,必須顯示定義其為extern

參考文獻

[1] 《c++ prime 中文版》第四版

C 知識點之const關鍵字

用於定義常量變數,這樣這個變數在後面就不可以再被修改 const int ivalue 10 ivalue 20 編譯報錯,ivalue不可被修改如果輸入引數採用 指標傳遞 那麼加const 修飾可以防止意外地改動該指標。例如 void stringcopy char strdestination,...

關於C 中const的知識點總結

在程式開發過程中,需要一些保持不變 無法被修改的量。c 中可以用const進行修飾。注意事項 const int buffer size 錯誤,宣告時沒有進行初始化 錯誤 m 使用初始化列表初始化const常量 democlass democlass 檔案1 const int my size 51...

C 基本知識點 Readonly和Const的區別

什麼是靜態常量 const 和動態常量 readonly 先解釋下什麼是靜態常量 const 以及什麼是動態常量 readonly 靜態常量 const 是指編譯器在編譯時候會對常量進行解析,並將常量的值替換成初始化的那個值。動態常量 readonly 的值則是在執行的那一刻才獲得的,編譯器編譯期間...