外部リンケージ
識別子にはファイル レベルの範囲の最初の宣言が 静的 のストレージ クラス指定子を使用しない場合はオブジェクトに外部リンケージがあります。
関数の識別子の宣言に ストレージ クラス指定子が ない場合リンクは ストレージ クラス指定子 extern で宣言されたとおりに決定されます。オブジェクトの識別子の宣言はファイル スコープと ストレージ クラス指定子が ない場合は外部リンケージがあります。
外部リンケージで識別子の名前は外部リンケージを持つ同じ名前の他の宣言と同じ関数またはデータ オブジェクトを指定します。2 種類の宣言は同じ翻訳単位または異なる翻訳単位になります。オブジェクトまたは関数はグローバルな有効期間がの場合はオブジェクトまたは関数はプログラム全体で共有されます。