すいません、すごく初歩的な質問で申し訳ないのですがファイルを分割して変数や関数がどのファイルで通用するか考えた場合、
スコープはグローバル変数と関数は全てのファイルで通用、ただし両方ともstaticをつけるとスコープは内部リンゲージになる。

ローカル変数はブロック内でstaticをつけると内部リンゲージになる。
ただしグローバル変数に関して別のファイルの無指定のグローバル変数を利用するときは(staticをつけない場合のことです)
externという指定をつけたヘッドファイルを読み込んでコンパイルしないと正しく使うことができない

という理解でよろしいでしょうか?
分かりにくい文章でごめんなさい