C言語のEXIT_SUCCESSについてわかりやすく解説

C言語において、プログラムが正常に終了したことを示すためにEXIT_SUCCESSという定数が使われることがあります。
この記事では、EXIT_SUCCESSの意味などを解説していきます。
EXIT_SUCCESSとは?
EXIT_SUCCESSは、C言語においてプログラムが正常終了したことを示すための定数です。この定数は、stdlib.h
ヘッダーファイルをインクルードすると使用できます。
通常、C言語のmain関数はint型の値を返します。
そして、main関数が正常に終了した場合には0を返すことが一般的ですが、EXIT_SUCCESS
定数の中身は0
であるため、return EXIT_SUCCESS
を使用することでプログラムの可読性を向上させることができます。
以下に、EXIT_SUCCESSを使用したサンプルコードを示します。
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("Hello, World!\n");
return EXIT_SUCCESS;
}
このプログラムでは、main
関数内でprintf
関数を用いてHello, World!
という文字列を出力しています。そして、return
文でEXIT_SUCCESS(0)
を返しています。
以上がEXIT_SUCCESS
についての簡単な解説です。
EXIT_SUCCESSの使い方
C言語には、プログラムが正常に終了したことを示すための定数があります。それがEXIT_SUCCESS
です。
EXIT_SUCCESS
は、stdlib.h
ヘッダーファイルをインクルードすると使えるマクロ定数であり、0が定義されています。
main関数が正常に終了した場合には0を返すことが一般的ですが、EXIT_SUCCESS
定数の中身は0
であるため、return EXIT_SUCCESS
と記述することでプログラムの可読性を向上させることができます。
以下は、EXIT_SUCCESS
を使用するサンプルコードです。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("Hello, World!\n");
return EXIT_SUCCESS;
}
このプログラムでは、main
関数内でprintf
関数を用いてHello, World!
という文字列を出力しています。そして、return
文でEXIT_SUCCESS(0)
を返しています。
一方で、異常終了する場合には、main関数から0以外の値を返します。例えば以下のようなコードでは、ファイルが開けなかった場合に1を返しています。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fp;
fp = fopen("not_exist_file.txt", "r");
if (fp == NULL) {
printf("File not found.\n");
return 1; // 異常終了
}
fclose(fp);
return EXIT_SUCCESS; // 正常終了
}
以上のように、C言語ではプログラムの正常・異常終了時にそれぞれ決まった値を返すことで状態を表現します。その中でも最も一般的な正常終了時の値がEXIT_SUCCESS
です。
EXIT_SUCCESSとEXIT_FAILUREの違い
C言語において、EXIT_SUCCESS
とEXIT_FAILURE
はプログラムの終了ステータスを表すために使用されます。これらの定数は、標準ライブラリで定義されています。
EXIT_SUCCESS
は、プログラムが正常に終了したことを示します。一方、EXIT_FAILURE
は、プログラムが異常終了したことを示します。
具体的には、プログラムがエラーを検出して強制終了する場合や、予期しない入力値が与えられた場合などが該当します。
以下の例では、条件分岐文で変数xの値が0より大きいかどうかを判断し、それぞれ異なる終了ステータスを返しています。
#include <stdlib.h>
#include <stdio.h>
int main() {
int x = -1;
if (x > 0) {
printf("x は正数です\n");
return EXIT_SUCCESS;
} else {
printf("x は負数です\n");
return EXIT_FAILURE;
}
}
この例では、変数xの値が負の値であるため、「x は負数です
」というメッセージが表示されます。そして、exit()
関数によってプログラムが異常終了し、戻り値としてEXIT_FAILURE
(=1)が返されます。
終わりに
以上が、C言語におけるEXIT_SUCCESS
についての解説でした。
EXIT_SUCCESS
は、プログラムの正常終了を示すために使われる定数であり、プログラミングにおいて非常に重要な役割を担っています。
また、EXIT_FAILURE
との違いも理解しておくことが大切です。