Arduino日本語リファレンス



プログラムの流れを、ラベルをつけたポイントへ移します。

【構文】

label:
goto label; // ラベルの位置からプログラムの実行を続けます

【TIPS】

Cプログラミングでgotoを使うことは薦められていません。C言語の本の著者のなかには、goto文はまったく不要であるとする人もいます。多くのプログラマがgotoの使用に対して眉をひそめるのは、流れが読み取れないプログラムになりがちだからです。そうしたプログラムはデバッグできません。
しかし、分別ある使い方をするならば、gotoはプログラムを扱いやすくシンプルにしてくれます。たとえば、深くネストしたループやブロックから、ある条件で抜け出したいときに有効です。

【例】

3重のforループからgotoを使って抜け出す例です。

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;}
      // 処理...
    }
  }
}
bailout:



[目次へ戻る]

Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [ドキュメント一覧]