hoge.c:
int Width=8;
p5.c:
extern int Width;

変数 Width の実体は hoge.c にあって、
p5.c からはそれを参照しているにすぎない。

初期化は hoge.c で行なうべきなのだが、
p5.c で初期化が行われているからだと思う。

Width は extern にすべき変数なのかな?