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などのより構造化された制御フロー文を使用して同じロジックを実現すべきです。

bannerAds