情報処理技術者試験では、大域変数はプログラミングの知識問題として、あるいはアルゴリズム問題のコードの中に登場する形で問われます。
知識問題として頻出なのは、「局所変数(ローカル変数)」との明確な違いです。「関数の中で宣言され、その関数が終了すると同時にメモリから消滅し、使えなくなる変数はどれか」という問いに対しては局所変数を選び、「関数の外で宣言され、プログラムの実行中ずっと保持され、複数の関数から共有される変数はどれか」という問いに対しては大域変数(グローバル変数)を選ぶ、という定義の違いを正確に理解しておく必要があります。
アルゴリズム問題のトレースにおいては、大域変数が登場した場合は最大の警戒が必要です。疑似言語のコードを読む際、複数の関数が順番に呼び出される中で、大域変数の値がどのように変化していくかを余白にメモしながら追いかけなければなりません。特に、関数の中で大域変数と同じ名前の局所変数が宣言されている「名前の衝突(シャドウイング)」のケースに注意してください。この場合、その関数の中では局所変数が優先して使われ、大域変数の値は書き換わらない、という言語のルール(スコープの規則)を理解しているかを問うような、引っかけ問題が出題されることがあります。
また、オブジェクト指向プログラミングに関する問題では、大域変数の欠点を克服するための仕組みとして「カプセル化」という概念が関連して問われることがあります。データ(変数)を外部から勝手に書き換えられないように保護するという考え方は、大域変数のデメリットを理解していれば非常に納得しやすいはずです。
関連する用語
局所変数、スコープ、副作用
構成図・実機演習へ進む
用語を構成と操作へつなげる場合は、実技TOPとラボ一覧を利用できます。
ファクトチェック:試験要綱 Ver.5.6(2026-07-06公開、2026年10月試験から適用)。Ver.5.6は2026年10月試験から適用され、科目A-1、科目A-2、科目Bを規定します。2026年8月時点では適用前の資料であるため、記事では適用日を明記し、詳細シラバスと科目A-2追補も併記します。
この記事は公式出題範囲・チェックリストとの対応を編集部で確認した学習解説です。
公式資料
用語集一覧 / ← 前の記事 / 次の記事 →