IPA過去問ドリル

平成21年度 春期 応用情報技術者試験 午前 問18

テクノロジ/ソフトウェア

プログラムの実行時に利用される記憶領域にスタック領域とヒープ領域がある。それらの領域に関する記述のうち,適切なものはどれか。

出典:平成21年度 春期 応用情報技術者試験 午前 問18

正解:ア

解説

スタック領域は関数呼出しの戻り番地やローカル変数など,LIFO(後入れ先出し)で確保・解放される領域に使われ,ヒープ領域はプログラムが任意のタイミングで確保・解放する,割当てと解放の順序に関連しないデータに使われます。

選択肢ごとの解説

  • 正しい。スタック領域は戻り番地の退避に,ヒープ領域は割当て・解放の順序に関連しないデータに使用されます。
  • 誤り。ヒープ領域にも解放によって生じた未使用(空き)領域が断片的に存在し得ます。
  • 誤り。ヒープ領域はスタック領域の予備領域ではなく,独立した動的メモリ確保のための領域です。
  • 誤り。ヒープ領域は任意の順序で確保・解放される領域であり,スタックのようなプッシュ・ポップ(LIFO)操作の構造ではありません。
応用情報技術者の過去問を演習モードで解く