応用情報暗記無料で始める

スタックとは?すたっく

スタックとは、最後に入れたデータを最初に取り出す後入れ先出し(LIFO)のデータ構造で、push と pop の2操作で扱う。プログラムの実行時には、関数呼出しの戻り番地・引数・局所変数をひとまとまり(スタックフレーム)にして積み、戻るときに逆順で復元するために使われる。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では8回出題されています(2016年度〜2025年度)。

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

別名:LIFO

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

背景

関数が別の関数を呼び、その先でさらに呼ぶという入れ子は、呼んだ順と戻る順がちょうど逆になる。この性質にそのまま合う構造がスタックであり、退避場所を固定番地に置く方式では再帰も多重割込みも扱えなかった。CPUがスタックポインタというレジスタを持ってハードウェアの水準で支えているのはこのためである。応用情報では逆ポーランド記法の評価、再帰の動作、バッファオーバフローの仕組みとして問われる。

具体例

逆ポーランド記法「3 4 + 5 *」は、数値を積み、演算子が来たら2つ取り出して結果を積み直すだけで評価できる。x86系CPUのcall命令が戻り番地をスタックへ積み、ret命令が取り出す仕組みも同じで、この領域を溢れさせて戻り番地を書き換えるのがスタックバッファオーバフローである。

試験での引っ掛け

先入れ先出しのキュー(FIFO)と向きが逆である点がまず問われる。またn個の要素をスタック経由で出力するときに作れる順序の総数はカタラン数であって n! ではない——pushとpopを交ぜられる一方、空のスタックからは取り出せないという制約が効くためである。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では8回出題(2016年度〜2025年度)
  • 分野:テクノロジ系
  • 先入れ先出しのキュー(FIFO)と向きが逆である点がまず問われる。