高度試験午前I暗記無料で始める

スタックとは?すたっく

スタックとは、最後に入れたデータを最初に取り出す後入れ先出し(LIFO)のデータ構造。push(積む)とpop(取り出す)で操作し、現在位置はスタックポインタが指す。関数呼出し時の戻り番地や局所変数の退避・復元に使われ、割込み処理からの復帰も同じ仕組みで成り立つ。

最終更新:2026-10-07

試験情報

高度試験・午前I(全区分共通)の過去問では3回出題され、ほかに1問の解説で触れられています(2018年度〜2025年度)。

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)

別名:LIFO

この語が出る過去問を解く →

背景

手続きが別の手続きを呼び、その先でまた呼ぶという入れ子の実行では、戻り先を「最後に呼んだものから順に」たどる必要がある。この順序はLIFOそのものなので、退避場所をスタックにすると戻り番地の管理が自動的に正しくなる。再帰やマルチタスクの文脈切替えがハードウェア支援で成立するのはこのためで、専門が非開発系の受験者にも午前I(科目A-1)では必ず当たる範囲になる。

具体例

再帰呼出しでは、呼び出すたびに現在の状態をスタックへ積み、戻るときに逆順で復元する。逆ポーランド表記の「3 4 + 5 ×」は、数値を積み、演算子で2つ取り出して結果を積み直す手順で評価できる。

試験での引っ掛け

先入れ先出しのキューと向きが逆。n個の要素をスタック経由で出力するときに作れる順序の総数はカタラン数であり、単純にn!ではない。局所変数の領域を超えて書き込むと戻り番地を壊すのがバッファオーバーフローで、スタック構造そのものはセキュリティ機構ではない。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では3回出題(2018年度〜2025年度)
  • 分野:午前I(全区分共通)
  • 先入れ先出しのキューと向きが逆。