c+++變數宣告和定義

wizardzzz發表於2018-06-30

    c++變數宣告和定義的關係

動機

    為了把程式拆分成多個邏輯部分,c++支援分離式編譯,該機制可以將程式分割成若干個檔案,每個檔案可被獨立編譯。

為了支援分離式編譯,c++將宣告(declaration)和定義(definition)區分開。

宣告:宣告使得為程式所知,一個檔案如果想使用別處定義的名字則必須包含對那個名字的宣告。

定義:定義負責建立與名字相關聯的實體。

聯絡與區別:變數宣告與定義都規定了變數的型別與名字,定義還賦予了變數儲存空間。

    想宣告一個變數而非定義,就在變數名前新增關鍵字extern,也不要顯示的賦予初值。

    extern int i;         //宣告i

    int i;                   //宣告並定義i

    任何顯示的宣告即成定義

    extern double i = 3;    // 定義i

 





相關文章