變量的聲明和定義

1.基本概念

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

2.功能

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

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

extern double pi = 3.1416; //定義

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

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

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

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