この記事では、C言語におけるメイン関数の定義方法である void main
と int main
の違いについて解説します。
また、なぜ void main
の使用が非推奨とされているのかについても説明します。
void mainとint mainの違いとは
C言語において、プログラムの実行を開始するためのメイン関数は通常、int main()
という形式で定義されます。
しかし、一部のC言語の教材や古いコードでは、void main()
という形式が使用されていることがあります。
void mainの使用例と特徴
void main()
は、プログラムの実行を開始するためのメイン関数を定義する方法の一つです。
以下に、void main()
の使用例を示します。
#include <stdio.h>
void main() {
printf("Hello, World!");
}
void main()
の特徴は、戻り値の型がvoid
であることです。
つまり、メイン関数が何らかの値を返さないことを意味します。
また、引数を取らない場合でも、引数のリストを省略することができます。
int mainの使用例と特徴
一方、int main()
は、プログラムの実行を開始するためのメイン関数を定義する一般的な方法です。
以下に、int main()
の使用例を示します。
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
int main()
の特徴は、戻り値の型がint
であることです。
また、通常、プログラムの実行が正常に終了した場合には、return 0;
という文を使って0を返すことが一般的です。
void mainとint mainの違いのまとめ
void main()
とint main()
の違いをまとめると以下のようになります。
void main()
は戻り値の型がvoid
であり、何も返さないことを示す。int main()
は戻り値の型がint
であり、通常は0を返すことで正常終了を示す。
void mainの使用は非推奨とされる理由
void main()
の使用は非推奨とされています。
その理由には、以下のような問題があります。
プログラムの可搬性の問題
一部のCコンパイラでは、void main()
を許容しているかもしれませんが、C言語の規格ではint main()
が正しい形式とされています。
したがって、void main()
を使用すると、他の環境やコンパイラでコンパイルエラーが発生する可能性があります。
プログラムの可搬性を考慮する場合には、int main()
を使用することが推奨されます。
プログラムのエラー処理の問題
int main()
を使用すると、プログラムの実行結果を戻り値として返すことができます。
これにより、プログラムの実行中にエラーが発生した場合には、適切なエラーコードを返すことができます。
一方、void main()
では戻り値がないため、エラー処理が制限されます。
プログラムの安全性や信頼性を高めるためにも、int main()
を使用することが望ましいです。
以上が、void main()
とint main()
の違いと、void main()
の使用が非推奨とされる理由でした。
正しい形式でメイン関数を定義し、プログラムを安全かつ可搬性の高いものにするために、int main()
の使用を心がけましょう。