MENU

【C言語】行の最後にセミコロンがいるケースといらないケースを解説

この記事では、C言語において行の最後にセミコロンが必要な場合と不要な場合について解説します。

目次から探す

行の最後にセミコロンが必要なケース

C言語では、行の最後にセミコロンを付ける必要がある場合があります。

以下では、そのケースについて解説します。

文の終了を示す場合

C言語では、文の終了を示すためにセミコロンを使用します。

例えば、変数の宣言や代入文、関数呼び出しなど、文として完結する場合には必ずセミコロンを付ける必要があります。

int x = 10; // 変数の宣言と初期化
printf("Hello, World!"); // 文字列の出力

関数の宣言と定義の場合

関数の宣言や定義では、関数の末尾にセミコロンを付ける必要があります。

関数の宣言は、関数のプロトタイプ宣言やヘッダファイルで行われることが一般的です。

// 関数のプロトタイプ宣言
int add(int a, int b);
// 関数の定義
int add(int a, int b) {
    return a + b;
}

制御構造の終了を示す場合

制御構造(if文for文など)の終了を示すためにも、行の最後にセミコロンを付ける必要があります。

if (x > 0) {
    printf("xは正の数です");
} else {
    printf("xは負の数です");
}

行の最後にセミコロンが不要なケース

一方で、行の最後にセミコロンを付けないケースもあります。

以下では、そのケースについて解説します。

ブロックの終了を示す場合

ブロック(中括弧{}で囲まれた範囲)の終了を示すためには、行の最後にセミコロンを付けません。

for (int i = 0; i < 10; i++) {
    printf("%d ", i);
}

構造体の宣言と定義の場合

構造体の宣言や定義では、行の最後にセミコロンを付けません。

struct Point {
    int x;
    int y;
};

条件文やループ文の場合

条件文(if文switch文など)やループ文(for文while文など)の場合も、行の最後にセミコロンを付けません。

if (x > 0) {
    printf("xは正の数です");
}
while (x > 0) {
    printf("%d ", x);
    x--;
}

以上が、C言語における行の最後にセミコロンが必要なケースと不要なケースの解説です。

適切にセミコロンを付けることで、プログラムの文法エラーを防ぐことができます。

目次から探す