古詩詞大全網 - 成語查詢 - C語言變量的定義和聲明有什麽不同?

C語言變量的定義和聲明有什麽不同?

C語言變量的定義和聲明的不同之處:

1、變量在使用前就要被定義或者聲明;

2、在壹個程序中,變量只能定義壹次,卻可以聲明多次;

3、定義分配存儲空間,而聲明不會

擴展資料:

變量的定義:用於為變量分配存儲空間,還可以為變量指定初始值。在程序中,變量有且僅有壹個定義。 ?

聲明:用於向程序表明變量的類型和名字。

定義也是聲明:當定義變量的時候我們聲明了它的類型和名字。可以通過使用extern聲明變量名而不定義它。不定義變量的聲明包括對象名、對象類型和對象類型前的關鍵字extern。 ?

extern聲明不是定義,也不分配存儲空間。事實上它只是說明變量定義在程序的其他地方。程序中變量可以聲明多次,但只能定義壹次。 ?

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

任何在多文件中使用的變量都需要有與定義分離的聲明。在這種情況下,壹個文件含有變量的定義,使用該變量的其他文件則包含該變量的聲明(而不是定義)。