goto

[Control Structures]

説明

プログラムフローをプログラム内のラベル付きポイントに転送します

構文

label:
goto label; // sends program flow to the label

ヒント

C プログラミングでは、goto の使用は推奨されていません。C プログラミングに関する書籍の著者の中には、goto 文は必ずしも必要ではないが、適切に使用すれば特定のプログラムを簡素化できると主張する人もいます。多くのプログラマが goto の使用を嫌うのは、goto 文を無制限に使用すると、プログラムフローが定義されていないプログラムが簡単に作成され、デバッグできなくなるためです。とはいえ、goto 文が役に立ち、コーディングを簡素化できる場合もあります。こうした状況の 1 つは、特定の条件で、深くネストされた for ループ、または if ロジック ブロックから抜け出すことです。

for(byte r = 0; r < 255; r++){
    for(byte g = 255; g > -1; g--){
        for(byte b = 0; b < 255; b++){
            if (analogRead(0) > 250){ goto bailout;}
            // more statements ... 
        }
    }
}
bailout:

Language Reference Home

86Duinoリファレンスのテキストは、Arduinoリファレンスを改変したもので、Creative Commons Attribution-ShareAlike 3.0ライセンスに基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。

上部へスクロール