void foo(void)と
extern void foo(void)ってどう違うの?
またどう使い分けるの?