goto文は、特定のラベルへ処理を飛ばす制御文です。
ラベルは、任意の文字列に:(コロン)を付けて表します。
例1
void test(~~~) {
while (~~~) {
if (~~~) goto labelA;
}
labelA:
適当な処理
}
goto文でラベルlabelAへ飛びます。
例2
void test(~~~) {
while (~~~) {
while (~~~) {
if (~~~) goto labelB;
}
}
labelB:
適当な処理
}
break文では、1度に1つのループしか抜けられませんが、
この例だと
goto文で多重ループを一気に抜ける事ができます。
注意する事としては、
ラベルは、文の前に記述するものなので、
ラベルの後に何も処理を書かないと、コンパイルエラーになります。
そういった場合は、ラベルの後に、
空文(;セミコロンのみ)を書いておきます。
ラベルは基本的に使わない事が多いです。