外部リンケージ

ID のファイル スコープ レベルの最初の宣言で static ストレージクラス指定子を使用していない場合、オブジェクトに外部リンケージがあります。

関数の ID の宣言に storage-class-specifier がない場合、そのリンケージは、storage-class-specifierextern で宣言されている場合とまったく同じように決定されます。 オブジェクトの ID の宣言にファイル スコープがあり、storage-class-specifier が含まれていない場合、リンケージは外部になります。

外部リンケージを持つ識別子の名前は、外部リンケージを持つ同じ名前の他の宣言で指定されるものと同じ関数またはデータ オブジェクトを指定します。 2 つの宣言を同じ翻訳単位または異なる翻訳単位に配置できます。 オブジェクトまたは関数にグローバル有効期間もある場合、オブジェクトまたは関数はプログラム全体で共有されます。

関連項目

extern を使用したリンケージの指定