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

トップページ用語集

名称

解説

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

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

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

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

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


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る