2017-04-18 68 views
-3

如果我們在C中聲明一個變量爲該變量分配內存或者不。我的假設是如果我們聲明變量內存是爲該變量分配的,但我今天在某些站點研究了內存未分配給變量當我們宣佈時。 任何幫助我澄清這個疑問。變量聲明概念在C

+0

什麼網站?他們究竟說了些什麼? – StoryTeller

回答

2

聲明從不爲變量分配內存,通常讓編譯器知道「類型」(需求)。

相反,定義是實際內存分配的位置。

這就是爲什麼同一個變量可以多次聲明(只要它們不與前面的類型衝突),但不能定義多次。

3

變量聲明只告訴編譯器該變量存在,它具有什麼類型及其名稱。

另一方面,變量定義實際上會導致編譯器爲變量分配空間。

雖然變量聲明和定義經常同時發生,這就是爲什麼經常會有一些關於這兩者的混淆,以及爲什麼兩者經常被稱爲「聲明」。


作爲一個腳註,上面是不是真正的完整的故事,有也喜歡暫定定義事情可以是一個聲明定義。對於沒有初始化的全局變量,這是通常的。