GCCコンパイラの次のコンパイル時に驚いた。うまくいきました。コンパイラは警告のみを出します。Cのexternキーワードの振る舞い
warning: 'i' initialized and declared 'extern' [enabled by default] extern int i = 10;^
マイコード:
#include <stdio.h>
//Compiler version gcc 4.9
extern int i = 10;
int main()
{
printf("%d\n",i);
return 0;
}
出力:
10
なぜ与えるものではありませんコンパイラエラー?それは未定義の動作ですか?
可能な複製http://stackoverflow.com/questions/496448/how-to-correctly-use-the-extern-keyword-in-c – 0xAX