先頭へ戻る

スタックオーバーフロー | Programming Place Plus 用語集

Programming Place Plus トップページ -- 用語集

先頭へ戻る

名称


解説

コールスタックへのデータの追加が多すぎて、有効なメモリの範囲を超えてしまうことです。

スタックオーバーフローが起きると、実行時エラーになったり、ほかの用途で使われているメモリ領域を破壊したりといったように、正常に処理が続けられない状態に陥ります。

コールスタックはサブルーチン関数メソッドなども含む)の呼び出し時にデータがプッシュ(追加)され、サブルーチンから抜け出すときにデータがポップ(削除)されます。そのため、スタックオーバーフローは、サブルーチンの呼び出しの連鎖が長く続いたときに起こります。典型的なのは、非常に呼び出し回数が多くなる再帰呼び出しです。

再帰呼び出しを活用するアルゴリズムの中には、スタックオーバーフローを避けるために、再帰しないように変形したバージョンが知られているものがあります。

たとえば、クイックソートには再帰版と非再帰版があります(アルゴリズムとデータ構造編【整列】第6章を参照)


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー