外部変数 【external variable】
CやC++言語などでは、どの関数やコードブロックにも属さない場所で宣言された変数は、プログラム中のどこからでも同じ名前で同じ内容を参照できる「グローバル変数」(global variable)となる。プログラムの実行開始時にメモリ領域の割り当てが行われ、プログラム終了まで存続し続け、同じ変数名が常に同じ領域を指し示し続ける。
extern宣言
ソースコードが複数のファイルに分割されている場合、あるファイルで宣言されたグローバル変数は別のファイルのコードからも仕様上は参照可能だが、呼び出し元のファイルには変数宣言が無いため、そのままではコンパイルエラーとなってしまう。
これを避けるため、呼び出したい側のファイル上で「extern int global_x;」のようにextern修飾子による変数宣言を行うことで、別のファイルで宣言されたグローバル変数を参照できるようになる。「外部変数」という呼び名を、extern宣言で参照できるようにした外部ファイルのグローバル変数という意味で用いることもある。
(2021.6.25更新)