變量的定義(definition)用於爲變量分配存儲空間,還能夠爲變量指定初始值。在一個程序中,變量有且只有一個定義。spa
聲明(declaration)用於向程序代表變量的類型和名字。定義也是聲明:當定義變量時咱們聲明瞭它的類型和名字。能夠經過使用extern關鍵字聲明變量名而不定義它。不定義變量的聲明包括對象名、對象類型和對象類型前的關鍵字extern:對象
extern int i; // declares but does not define iit
int i; // declares and defines iio
extern聲明不是定義,也不分配存儲空間。事實上,它只是說明變量定義在程序的其餘地方。程序中變量能夠聲明屢次,但只能定義一次。變量
補充:從這個角度說,類裏面的成員變量都只是聲明而非定義!程序