C言語で絶対に書くint main()関数についてわかりやすく詳しく解説

この記事では、C言語のプログラミング初心者の方に向けて、int main()関数について詳しく解説します。

main()関数の役割や定義、プログラムのエントリーポイントとしての役割、戻り値の意味などを理解することができます。

また、main()関数の引数についても解説し、コマンドライン引数の受け取り方や引数の型と数の制約について学ぶことができます。

C言語のプログラミングを始める際には、main()関数の理解は非常に重要ですので、ぜひ参考にしてください。

目次から探す

int main()関数の役割

int main()関数は、C言語プログラムの中で最も重要な関数の一つです。

この関数はプログラムのエントリーポイントとして機能し、プログラムの実行が開始される場所です。

main()関数は必ず1つだけ存在し、プログラムの実行が終了するまで実行され続けます。

main()関数の定義と構造

main()関数は以下のように定義されます。


int main()
{
    // プログラムの実行内容
    return 0;
}

main()関数は、戻り値の型がintであることを示すintキーワードで始まります。

また、関数名がmainであることも特徴的です。

関数の中身は波括弧{}で囲まれており、波括弧の中にプログラムの実行内容を記述します。

main()関数の戻り値

main()関数は、int型の戻り値を持ちます。

戻り値はプログラムの実行結果を示すために使用されます。

通常、正常終了を示すために0を返しますが、異常終了やエラーの場合には0以外の値を返すこともあります。

以下は、main()関数が0を返す例です。


int main()
{
    // プログラムの実行内容
    return 0;
}

main()関数が0以外の値を返す例を以下に示します。


int main()
{
    // プログラムの実行内容
    return 1;
}

main()関数の戻り値は、プログラムの実行結果を他のプログラムやシステムに伝えるために利用されます。

main()関数の引数

main()関数は、プログラムのエントリーポイントとして非常に重要な役割を果たします。

main()関数は通常、プログラムの最初に実行される関数であり、プログラムの実行が開始される場所です。

main()関数は、C言語のプログラムにおいて必ず1つだけ存在しなければならない関数です。

コマンドライン引数の受け取り方

main()関数は、プログラムが実行される際にコマンドライン引数を受け取ることができます。

コマンドライン引数は、プログラムを実行する際にプログラム名の後ろに指定することができる追加の情報です。

例えば、以下のようにプログラムを実行すると、コマンドライン引数としてhelloworldが渡されます。

$ ./program hello world

main()関数は、通常以下のように定義されます。


int main(int argc, char *argv[])

ここで、argcはコマンドライン引数の数を表し、argvはコマンドライン引数の値を格納する文字列の配列です。

argcは常に1以上の値を持ちます。

プログラム名自体も1つの引数としてカウントされます。

以下は、コマンドライン引数を受け取って表示する簡単なプログラムの例です。


#include <stdio.h>
int main(int argc, char *argv[]) {
    for (int i = 0; i < argc; i++) {
        printf("引数%d: %s\n", i, argv[i]);
    }
    return 0;
}

上記のプログラムを実行すると、以下のような結果が表示されます。

$ ./program hello world
引数0: ./program
引数1: hello
引数2: world

引数の型と数の制約

main()関数の引数の型は、int型とchar *型である必要があります。

引数の型を変更すると、コンパイルエラーが発生します。

また、main()関数の引数の数にも制約があります。

通常、main()関数は引数を2つ受け取りますが、引数を受け取らない場合は以下のように定義することもできます。


int main(void)

この場合、argcargvは使用できません。

引数を受け取らない場合は、コマンドライン引数を使用しないプログラムを作成することになります。

以上が、main()関数の引数についての説明です。

コマンドライン引数を受け取ることで、プログラムの柔軟性を高めることができますが、引数の型と数には制約があるので、注意して使用しましょう。

目次から探す