いや、だから
extern宣言は関数スコープでもファイルスコープでも同じように書けるのに
infinite existence変数の記法は関数内外で違う書き方が推奨されるってのがね。

違うのはスコープ(可視性)だけで、寿命その他は同じなのに。
(初期化タイミングは違うけど、「スコープが初めて有効になった時に初期化される」という意味では同じ)