C言語でのgoto文の使い方は?
C言語では、プログラムの別の場所に無条件でジャンプするためにgoto文を使用することができます。goto文の構文は以下の通りです:
goto label;
ラベルは、識別子とコロンで構成されたタグであり、通常、プログラム内の特定の場所をマークするために使用されます。必要なときにその場所にジャンプするためのものです。
goto文で単純な例を示します:
#include <stdio.h>
int main()
{
int i = 0;
label1:
printf("i = %d\n", i);
i++;
if (i < 5)
goto label1;
printf("End of program.\n");
return 0;
}
上記の例では、label1はprintfステートメントの前にあるラベルです。プログラムはgoto label1;ステートメントを実行すると、ラベルlabel1がある位置にジャンプし、その後にコードを実行します。この例では、プログラムは0から4までの数字を出力し、その後に”End of program.”を出力します。gotoステートメントの使用により、プログラムはiの値が5以上になるまで、printfステートメントを無限に繰り返し実行します。
goto文はプログラム内で乱用されると、コードの構造が混乱し、読みにくくメンテナンスが難しくなる可能性があるので、できるだけgoto文の使用を避け、代わりにif-else、for、whileなどのより構造化された制御フロー文を使用して同じロジックを実現すべきです。