const 用來 定義常量,因為const物件一旦建立後其值就無法更改,所以const 物件必須初始化。
預設狀態下, const 物件僅在檔案內有效。如果程式包含多個檔案,則每個用了 const 物件的檔案都必須能訪問到它的初始值,也就必須在每乙個用到變數的檔案中都有對它的定義。為了支援這一用法,同時避免對同一變數的重複定義,預設情況下,const 物件被設為僅在檔案內有效。某些時候 const 變數不是乙個常量表示式,但又確實有必要在檔案間共享,解決方法是對於 const 變數不管是宣告還是定義都新增 extern 關鍵字。
// file_1.cc 檔案定義並初始化了乙個常量, 該常量能被其他檔案訪問
extern const int bufsize = fcn();
// file_1.h 標頭檔案
extern const int bufsize; // 與 file_1.cc 中定義的bufsize是同乙個
file_1.cc 定義並初始化了bufsize。這條語句包含了初始值,所以是一次定義。因為bufsize 是乙個常量,必須使用extern加以限定使其被其他檔案使用。file_1.h 標頭檔案中的宣告也對 extern 做了限定,其作用是指明 bufsize 並非本檔案所獨有,它的定義在別處出現。
const 引用:引用及其對應的物件都是常量,對常量的引用不能用作修改它所繫結的物件。
使用名詞 頂層 const 表示指標本身是個常量,用名詞底層 const 表示指標所指的物件是乙個常量。
變數和基本型別二
1.宣告和定義 為了讓多個檔案訪問相同的變數,c 區分了宣告和定義。定義 用於為變數分配儲存空間,同時為變數指定初始值。乙個程式中變數有且只有乙個定義。1.1 extern 宣告 用於向程式表明變數的型別和名字。定義也是宣告,定義變數時宣告了它的型別和名字。可以使用extern 關鍵字宣告變數名而不...
C 基本型別和變數
算術型別包含整型 包括字元和布林型別 和浮點型。主要型別 bool char wchar t char16 t char32 t short intlong long long float double long double 在程式中,帶符號型別和不帶符號型別最好不要混用,容易出現錯誤。如下圖 2...
C 變數和基本型別
變數的宣告與定義 聲加粗樣式明用於向程式表明變數的型別和名字,用extern表示,它不分配記憶體,定義則用於分配儲存空間,當然,定義也是宣告。const const修飾變數後,其值不可被修改,任何修改的嘗試都會導致編譯錯誤。引用 即物件的另乙個名字,在實際程式中主要用作函式的形參。1 引用是它繫結的...