對不起,這類問題。但是,我對C\C++
中的關鍵字extern
非常好奇。在c/C++中使用extern的概念是什麼?
在搜索extern
的解釋時我知道extern
告訴編譯器該變量或函數已經在其他文件或程序中定義了。
但是,如果這是一種情況,那麼我們爲什麼使用extern
?
,我嘗試了一些代碼如下:
extern int var;
int main(void)
{
var = 10;
return 0;
}
此代碼是給我一個錯誤消息unresolved external symbol "int var" ([email protected]@3HA)
。
,如果我使用像一些代碼:
extern int var;
int main(void)
{
int var = 10;
return 0;
}
它不表現出任何錯誤,並給出我在主函數已定義的值相同。
那麼,任何人都可以幫我瞭解extern
的行爲嗎? 我對此很困惑。 請原諒我,如果這不是一個有效的問題。 先謝謝您。
'extern int var'是一個聲明,它沒有爲'var'分配任何內存,因此當你使用'var = 10'時,你的程序搜索'var'的定義但是找不到它。 –
@jalf:他們不是一樣的 –