無限ループ

読み:むげんるーぷ
外語:infinite loop 英語
品詞:名詞

半永久的に同じ場所でループを続ける状態。意図的な場合と、プログラムバグの場合とがある。

目次

挙動

プログラムにおいては、待機などの目的のために意図的に組み込まれることもあるが、いわゆるバグのため意図せずに無限に同じ箇所を回ってしまうこともある。

後者の場合、ループの条件式に不都合があるため、プログラムがループから脱出できずプロセスが停止するような症状を示す。

無限ループの状況によってはスタックオーバーフローバッファーオーバーフローを起こすこともある。

無限ループさせる

回数のあるループと無限ループは、明確に区別されるべきである。

そこで例えば、次のようなマクロを定義する。

#define INFINITE_LOOP for(;;)

使用例1
INFINITE_LOOP
{
    printf("hello, world\n");
}

終わるときは、中でbreak文を実行すればよい。

使用例2
printf("hello, world\n");
INFINITE_LOOP;

表示したあと、停止する。

データ通信などでは、同じパケットフレームが、一定の場所を行ったり来たりしてしまう状態をいう。

当然、このようなことが発生すると問題なので、パケットやフレームにホップ数TTLと呼ばれる「寿命」を用意することもある。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club