C 變數(四) 變數的宣告和定義

2021-06-22 05:29:17 字數 633 閱讀 1517

c++程式通常是由很多個file組成。為了讓每個file能夠使用同乙個變數,c++特意把變數的宣告和定義區別開來。

變數的定義,是指為變數分配記憶體,或者有時也為其設定乙個初始值的操作。

在程式中,同乙個變數只能定義一次。

extern int i; //declares but not define i

int i; //declares and define i

通過extern來宣告的變數,不是對變數的定義,也不會為變數分配記憶體。事實上,它的使用要求在程式的其他地方已經對該變數進行了定義。在乙個完整的程式中,同乙個變數可以宣告多次,但是只能定義一次。

在宣告變數時,可能會為變數設定乙個初始值,但是這種操作會被認定為變數的定義,因為只有定義才可以為變數分配記憶體。那麼,這個初始化程式必須擁有記憶體可以初始化。而且,一旦使用了初始化程式,不管這個宣告裡存不存在extern,這次操作都是變數的定義。譬如:

extern double pi=3.1416;  //definition
不管有沒有使用extern,這個語句都定義了pi,記憶體被分配給pi,並且初始值是3.1416。不過,需要注意的是,只有在函式外使用初始化操作的extern宣告,才是合法的。

c 變數的宣告和定義

1.變數的定義 變數的定義用於為變數分配儲存空間,還可以為變數指定初始值。在乙個程式中,變數有且僅有乙個定義。2.變數的宣告 用於向程式表明變數的型別和名字。程式中變數可以宣告多次,但只能定義一次 3.定義和宣告的區別 一般的情況下我們常常這樣敘述,把分配記憶體空間的宣告稱之為 定義 把不需要分配記...

變數宣告和定義

變數宣告 如果我們沒有特別寫出signed 有符號 或unsigned 無符號 變數預設為signed。所以我們要使用的變數都必須事先宣告過。和 語言的乙個重要區別是,在c 語言中我們可以在源程式中任何地方宣告變數,甚至可以在兩個可執行 excutable 語句的中間宣告變數,而不象在c語言中變數宣...

變數的宣告和定義

變數的宣告有兩種情況 一種是需要建立儲存空間的。例如 int a 在宣告的時候就已經建立了儲存空間。另一種是不需要建立儲存空間的 例如 extern int a 其中 變數a是在別的檔案中定義的.前者是 定義性宣告 defining declaration 或者稱為 定義 definition 而後...