IPA過去問ドリル

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

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

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

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

正解:ア

解説

スタック領域は後入先出しで管理され,サブルーチン呼出し時の戻り番地や引数,局所変数の退避に使われます。一方ヒープ領域は,割当てと解放の順序に決まりがない動的なメモリ要求(malloc や new など)に応えるための領域です。

選択肢ごとの解説

  • 正しい。戻り番地の退避はスタック領域,割当てと解放の順序に関連がないデータの格納はヒープ領域が使われます。
  • 誤り。ヒープ領域にも未使用領域は存在し,割当てと解放を繰り返すことで断片化した未使用領域が生じます。
  • 誤り。ヒープ領域はスタック領域の予備ではなく,動的なメモリ割当てのために設けられた独立した領域です。
  • 誤り。プッシュとポップという後入先出しの操作で管理されるのはスタック領域で,ヒープ領域は任意の順序で割当て・解放ができます。
応用情報技術者の過去問を演習モードで解く