2010-04-07 21 views
1

可以請告訴我什麼是當在不同的文件中聲明常量變量時​​extern變量的用法。extern在聲明常量時有什麼用處?

+0

你的意思是'extern'聲明?如果是這樣,它與C中的一樣;) – 2010-04-07 09:56:37

+0

那麼是否可以聲明一個局部變量,其名稱與同一文件中的外部變量相同? – PrithviRaj 2010-04-07 10:01:04

+0

@prithviraj,是的。它將「遮蔽」全球宣言。 – 2010-04-07 11:31:10

回答

5

extern關鍵字強制編譯器將該語句視爲聲明而不是定義。換句話說,extern可以防止編譯器爲變量保留空間。因此,只有不使用extern的編制單位提供了一個定義,而其他單位僅使用符合「一個定義規則」的聲明;如果每個編譯單元爲相同變量獨立保留空間,則會導致違反「一個定義規則」。請注意,extern字面意思是「該定義是由外部提供的(由不同的編譯單元)」。

1

就像C一樣,extern關鍵字表示該符號是在另一個將在編譯階段鏈接到此目標文件的對象文件中定義的。

相關問題