>>982
スコープを勉強ちぅですか

まず、記憶クラス指定子を書かないとautoになる事を前もって抑えておきます。

1.
ソースファイル一つを関数一つと考えるとその通りです。
ただ関数内のグローバル変数という時点でグローバルでは無いわけですが
”変数の範囲”としてはそう考えていいでしょう。

2.
外部変数(グローバル変数)になった時だけ、両方の意味が同じになります。
少しの違いといえばintなら0で初期化されるかされないかの違いぐらいで、
staticを使ったからといって通用範囲が狭くなるわけでもありません。

3.
通常で関数はexternで宣言をされている為
前もってプロトタイプを宣言しておけば外部から参照可能ですが、
static関数はそのファイル単体でしか使えません。