變量其實(shí)只不過是程序可操作的存儲(chǔ)區(qū)的名稱。C 中每個(gè)變量都有特定的類型,類型決定了變量存儲(chǔ)的大小和布局,該范圍內(nèi)的值都可以存儲(chǔ)在內(nèi)存中,運(yùn)算符可應(yīng)用于變量上。
C 語言也允許定義各種其他類型的變量,比如枚舉、指針、數(shù)組、結(jié)構(gòu)、共用體等等,這將會(huì)在后續(xù)的章節(jié)中進(jìn)行講解,本章節(jié)我們先講解基本變量類型。
變量的名稱可以由字母、數(shù)字和下劃線字符組成。它必須以字母或下劃線開頭。大寫字母和小寫字母是不同的,因?yàn)?C 是大小寫敏感的。基于前一章講解的基本類型,有以下幾種基本的變量類型:
C 中的變量聲明?
變量聲明向編譯器保證變量以指定的類型和名稱存在,這樣編譯器在不需要知道變量完整細(xì)節(jié)的情況下也能繼續(xù)進(jìn)一步的編譯。變量聲明只在編譯時(shí)有它的意義,在程序連接時(shí)編譯器需要實(shí)際的變量聲明。
變量的聲明有兩種情況:
1、一種是需要建立存儲(chǔ)空間的。例如:int a 在聲明的時(shí)候就已經(jīng)建立了存儲(chǔ)空間。
2、另一種是不需要建立存儲(chǔ)空間的,通過使用extern關(guān)鍵字聲明變量名而不定義它。 例如:extern int a 其中變量 a 可以在別的文件中定義的。
除非有extern關(guān)鍵字,否則都是變量的定義。
extern int i; //聲明,不是定義
int i; //聲明,也是定義
extern關(guān)鍵字
一:在C語言中,修飾符extern用在變量或者函數(shù)的聲明前,用來說明“此變量/函數(shù)是在別處定義的,要在此處引用”。extern聲明不是定義,即不分配存儲(chǔ)空間。
也就是說,在一個(gè)文件中定義了變量和函數(shù), 在其他文件中要使用它們, 可以有兩種方式:
1.使用頭文件,然后聲明它們,然后其他文件去包含頭文件
2.在其他文件中直接extern
二:extern "c"的作用
比如說你用C?開發(fā)了一個(gè)DLL?庫,為了能夠讓C?++語言也能夠調(diào)用你的DLL?輸出(Export)?的函數(shù),你需要用extern "C"?來強(qiáng)制編譯器不要修改你的函數(shù)名,被extern "C"修飾的變量和函數(shù)是按照C語言方式進(jìn)行編譯和鏈接的:這點(diǎn)很重要!!!!