基本情報暗記無料で始める

再帰呼出しとは?さいきよびだし

再帰呼出しとは、手続きが自分自身を呼び出す書き方。問題をより小さい同じ形の問題に分解して解く場合に自然に書ける。呼出しごとに引数や戻り先がスタックへ積まれるため、終了条件(これ以上分解しない場合)が必ず要る。

最終更新:2026-10-10

試験情報

基本情報技術者試験の過去問では1回出題されています。

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

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

背景

階乗のように、定義の中に同じ形の小さな問題が入っているものを、定義の形のまま手続きに書くには、手続きが自分自身を使えなければならない。ただし自分を呼ぶたびに引数と戻り先を覚えておかないと、内側が終わっても元の処理に戻れない。この記憶に、呼出しの履歴を積むスタックが使われる。

具体例

階乗を求める手続きは「n が1以下なら1を返し、そうでなければ n×階乗(n−1) を返す」と書ける。階乗(4) は 4×3×2×1 と展開され、最も内側の呼出しが戻り始めてから順に掛け算が確定していく。

試験での引っ掛け

終了条件を書き忘れると呼出しが無限に積まれ、スタック領域を使い切って異常終了する(スタックオーバフロー)。また再帰は必ずしも高速ではなく、呼出しのオーバヘッドの分だけ反復より遅いことが多い。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • 終了条件を書き忘れると呼出しが無限に積まれ、スタック領域を使い切って異常終了する(スタックオーバフロー)。