extern

K&R本 1.10

関数外部で宣言された変数を関数内部で使用するにはexternが必要となる。

また

ある条件下ではextern宣言は省略可能である。すなわち、外部変数の定義が、特定の関数で使われる以前にそのソース・ファイルの中でなされていれば、関数内でのextern宣言は不要となる。

externってそういうものだったのか。後でもうちょい調べる。