ループを終了させる条件を満たすことが決してないため、抜け出すことがないループ構造のことです。あるいはそうした状態のことを指す場合もあります(「無限ループに陥っている」など)。
無限ループは通常、プログラミングのミスによって作られます。たとえば、ループの条件式を間違えてしまったり、条件式に絡む変数の値を書き換える箇所に問題があったりしたとき、無限ループになることがあります。絶対にループから脱出できないので、プロセスを強制終了するなり、IDE での実行なら、停止ボタンを押すなりして、強制停止するしかありません。
サーバー上で動き続けるプログラムや、組み込み機器、ゲームなどでは、物理的な電源スイッチの ON/OFF などの手段によってプログラムの実行と終了を制御するため、ループの内側を処理しづけることがむしろ正しく、あえて無限ループを記述するケースがあります。
なお、ソースコードの書きやすさの事情から、ループの条件式を固定的な内容にして、絶対に終了条件が満たされないようにしておき(たとえば、while (true)
のように)、ループの内側で条件分岐と脱出命令(C言語における
break文など)を使って、適切なタイミングでループから抜けるように書くことがあります。この場合は意図したタイミングでループを抜け出せるので、正確には無限ループではありません。
この例は、C言語編第17章にあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |