1. 程式人生 > >小猿圈c++之宣告定義

小猿圈c++之宣告定義

c++是一門很有意思的語言,是基於c的一門語言,c++相對c來說邏輯性比較好一點,容易理解,這篇文章小猿圈開始說一下c++宣告和定義,從頭說起,對c++有興趣的朋友可以看一下小編的這篇文章。

概念闡述:

C++程式通常由許多檔案組成,為了讓多個檔案訪問相同的變數,C++區分了宣告和定義。

變數的定義(definition)用於為變數分配儲存空間,還可以為變數指定初始值。在程式中,變數有且僅有一個定義。

宣告(declaration)用於向程式表明變數的型別和名字。定義也是宣告:當定義變數的時候我們聲明瞭它的型別和名字。可以通過使用extern宣告變數名而不定義它。不定義變數的宣告包括物件名、物件型別和物件型別前的關鍵字extern。

extern宣告不是定義,也不分配儲存空間。事實上它只是說明變數定義在程式的其他地方。程式中變數可以宣告多次,但只能定義一次。

只有當宣告也是定義時,宣告才可以有初始化式,因為只有定義才分配儲存空間。初始化式必須要有儲存空間來進行初始化。如果宣告有初始化式,那麼它可被當作是定義,即使宣告標記為extern。

任何在多檔案中使用的變數都需要有與定義分離的宣告。在這種情況下,一個檔案含有變數的定義,使用該變數的其他檔案則包含該變數的宣告(而不是定義)。

運用:

//1.extern通知編譯器變數在其他地方被定義

extern int a;      //宣告,不是定義

int a;              //宣告,也是定義,未初始化

//2.函式的宣告和定義

//函式的宣告和定義區別比較簡單,帶有{ }的就是定義,否則就是宣告。

extern double max(double d1,double d2);  //宣告

//3.帶有初始化式的宣告必定式定義

//如果宣告有初始化式,就被當作定義,即使前面加了extern。 只有當extern宣告位於函式外部時,才可以被初始化。

extern double pi=3.141592654;  //定義

//4.除非有extern關鍵字,否則都是變數的定義。

extern int i; //宣告

int i; //定義     

c++宣告定義就是這樣宣告的,前面資料型別後面變數,這種格式一定要遵守,否則就會報錯,學習程式碼之前,這些定義的東西一定要搞懂,這是開始敲程式碼額基礎,就和寫作文一樣,陳述句、倒裝句都還沒搞懂,怎麼可以寫出一份優美的作文出來,希望大家知道怎麼用後可以開始你的基礎學習之旅了,之後的學習大綱和計劃可以跟著小猿圈走,很系統,希望能