C/C++のmain()関数は何を返すべき?戻り値の意味と使い方を解説
main()関数の戻り値は、プログラムがどのような状態で終了したかを示す重要な情報です。プログラムが問題なく正常終了した場合は「0」を返します。一方、コード内でエラーや異常が発生し、処理が中断された場合には「0以外の値(非ゼロ)」を返して終了します。
なお、C++言語ではmain()関数のreturn文を省略することも可能です。その場合、標準規格に従ってデフォルトで0が自動的に返される仕様になっています。
main()関数の基本構文(C言語)
int main() {
….
return 0;
}
サンプルコード
以下は、C言語でmain()関数を使用した具体例です。文字型から整数型、整数型から浮動小数点型への暗黙の型変換(implicit conversion)の挙動を確認できます。
#include <stdio.h>
int main() {
int a = 10;
char b = 'S';
float c = 2.88;
a = a+b;
printf("Implicit conversion from character to integer : %d\n",a);
c = c+a;
printf("Implicit conversion from integer to float : %f\n",c);
return 0;
}
実行結果
Implicit conversion from character to integer : 93 Implicit conversion from integer to float : 95.879997
コードの解説
上記のプログラムでは、main()関数内にビジネスロジックが記述されています。3つの変数 a、b、c を用意し、以下のような処理を行っています。
- 変数a:char型のb('S'=ASCIIコード83)との和を計算し、10+83=93 が代入される
- 変数c:float型のcに整数a(93)を加算し、2.88+93=95.879997 となる
- 最後に
return 0;により、プログラムが正常に終了したことをOSへ通知している
a = a+b;
printf("Implicit conversion from character to integer : %d\n",a);
c = c+a;
printf("Implicit conversion from integer to float : %f\n",c);
return 0;
このように、main()関数の最後で return 0; を明示的に記述することで、プログラムの正常終了を明確に伝えることができます。特にシェルスクリプトやバッチ処理などからプログラムを呼び出す際には、この戻り値が終了ステータスとして利用されるため、適切な値を返すことが重要です。
-
LinuxでのC/C++開発におすすめのIDE 6選|特徴と選び方を解説
テキストエディタだけでは大規模開発は難しい大規模なプロジェクトを単なるテキストエディタだけで管理するのは容易ではありません。そうしたケースでは、IDE(統合開発環境)を活用することで生産性が向上し、ストレスも大幅に軽減されます。IDEにはさまざまな種類があるため、自分のニーズに合ったものを選ぶことが重要です。この記事では、Linuxで利用できるC/C++向けの優れたIDEを6つご紹介します。1. NetBeans(C/C++開発向け)NetBeansは、無料かつオープンソースの人気クロスプラットフォームIDEです。C/C++をはじめ、多くのプログラミング言語に対応しており、コミュニティが開発し
-
Windowsで使えるC++開発向けおすすめIDE 7選
```html 大規模なプロジェクトをプレーンなテキストエディターだけで管理するのは困難です。こうしたケースではIDE(統合開発環境)を使った方が、生産性が向上しストレスも大幅に軽減されます。IDEにはさまざまな種類があり、自分のニーズに合ったものを選ぶことが重要です。ここでは、Windowsで利用できる優れたC/C++向けIDEをご紹介します。 1. Visual Studio Microsoftが開発した定番IDEです。Windows上でのC++プログラムの構築・開発・プロファイリングにおいて、最高クラスのツール群を備えています。豊富なプラグインストアも魅力で、Azure、PowerShe