過去問解きまくり研究所 ホーム

平成21年度 春期 午前 問18

ソフトウェア

スタック領域に関する問題

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

答えと解説を見る

✓ これが正解アサブルーチンからの戻り番地の退避にはスタック領域が,割当てと解放の順序に関連のないデータにはヒープ領域が使用される。

解説

戻り番地はスタック、順序自由なデータはヒープに置きます。

実行中に確保する記憶領域には、後入れ先出しの規則で使うスタック領域と、そうした順序の約束を持たないヒープ領域があります。スタック領域は、後で入れたものを先に取り出すという規則に沿うため、呼び出しの入れ子構造にきちんと合います。サブルーチンの戻り番地や、その中で使う局所変数のように、確保と解放の順が呼び出しの入れ子と一致するものを置くのに向いています。ヒープ領域は、これに対して確保と解放の順序に約束を置かず、必要になった時にだけ確保し、不要になった時に解放できる自由さがあります。生存期間の長さや解放の順序が呼び出しの入れ子と一致しないデータは、この領域に置くと扱いやすくなります。したがって、両者は目的の違う道具として使い分けます。

ほかの選択肢はなぜ違うのか

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

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)