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