變量的聲明和定義

1.基本概念

  • 聲明(declaration):使得名字為程序所知, 一個文件如果想使用別處定義的名字則必須包含對那個名字的聲明。
  • 定義(definition)負(fù)責(zé)創(chuàng)建與名字關(guān)聯(lián)的實體。

2.功能

  • 變量聲明規(guī)定了變量的類型和名字, 在這一點上定義與之相同;
  • 變量的定義除了聲明變量的類型和名字,還申請變量的存儲空間,也可能會為變量賦一個初始值;
    如果想聲明一個變量而非定義它, 就在變量名前添加關(guān)鍵字extern, 而且不要顯式地初始化變量:
extern int i; //聲明l. 而非定義i
int j;  //聲明并定義

任何包含了顯式初始化的聲明即成為定義。我們能給由ex七ern關(guān)鍵字標(biāo)記的變量賦一個初始值, 但是這么做也就抵消了extern的作用。extern語句如果包含初始值就不再是聲明, 而變成定義了:

extern double pi = 3.1416; //定義

在函數(shù)體內(nèi)部, 如果試圖初始化一個由extern關(guān)鍵字標(biāo)記的變量,將引發(fā)錯誤。因為在函數(shù)體的外面已經(jīng)進行了定義

NOTE:文量能且只能被定義一次, 但是可以被多次聲明。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容