C言語 gotoの使い方

goto文は、特定のラベルへ処理を飛ばす制御文です。

ラベルは、任意の文字列に:(コロン)を付けて表します。

例1

void test(~~~) {

      while (~~~) {
            if (~~~) goto labelA;
      }

labelA:

適当な処理

}

goto文でラベルlabelAへ飛びます。

例2

void test(~~~) {

      while (~~~) {
            while (~~~) {
                  if (~~~) goto labelB;
            }
      }

labelB:

適当な処理

}

break文では、1度に1つのループしか抜けられませんが、
この例だと
goto文で多重ループを一気に抜ける事ができます。

注意する事としては、
ラベルは、文の前に記述するものなので、
ラベルの後に何も処理を書かないと、コンパイルエラーになります。

そういった場合は、ラベルの後に、
空文(;セミコロンのみ)を書いておきます。

ラベルは基本的に使わない事が多いです。

タイトルとURLをコピーしました