資格暗記無料で始める

変数のスコープと生存期間とは?

変数のスコープと生存期間とは、スコープはその名前で変数を参照できるソースコード上の範囲、生存期間はその変数の実体がメモリ上に存在する時間を指す。局所変数はブロック内スコープでスタック上に確保され関数終了で消えるが、静的変数はスコープが局所でも生存期間はプログラム全体に及ぶ。

へんすうのすこーぷとせいぞんきかん

基本情報技術者試験の頻出用語/テクノロジ系


変数のスコープと生存期間の意味

スコープはその名前で変数を参照できるソースコード上の範囲、生存期間はその変数の実体がメモリ上に存在する時間を指す。局所変数はブロック内スコープでスタック上に確保され関数終了で消えるが、静的変数はスコープが局所でも生存期間はプログラム全体に及ぶ。

変数のスコープと生存期間の具体例

呼び出し回数を数えたい関数で局所変数を使うと毎回0に戻るので、静的変数にして値を保持する。逆に大域変数で共有すると、どこからでも書き換えられて不具合の原因を追いにくくなるため、スコープは必要最小限に絞る。

変数のスコープと生存期間は試験でどう引っ掛けられる?

スコープと生存期間は別概念で、「見えない=消えている」ではない。また内側のブロックで外側と同名の変数を宣言すると外側が隠される(シャドーイング)ため、トレース問題ではどちらの変数を更新しているかを見誤りやすい。

変数のスコープと生存期間と関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。