処理を終了する関数

 今回はstdlib.hのヘッダファイルをincludeすれば使えるようになる命令の中から、exit関数について説明します。以前、break文というのをご紹介しました。for文やif文の中でbreak文を用いると、for文やif文の括弧から外に出て、以下の命令を実行していくというものでした。exit関数は、その時点でプログラムの処理(実行)を終了したいときに用います。

 まずは以下のサンプルプログラムを作成し、実行してみて下さい。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[])
{
    
    // insert code here...
    printf("最初の処理\n");
    printf("2番目の処理\n");
    printf("3番目の処理\n");
    exit(0);
    printf("4番目の処理\n");
    printf("最後の処理\n");
    
    return 0;
}

 実行すると、以下のような結果が表示されます。

最初の処理
2番目の処理
3番目の処理

 「4番目の処理」と「最後の処理」が表示されないまま、プログラムの処理が終了していることを確認して下さい。もちろん、先述のとおり、for文やif文の中でもexit関数は利用できます。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[])
{
    
    // insert code here...
    for(int i = 0; i < 5; i++) {
        printf("i = %d のときの処理\n", i);
        if(i == 2) {
            exit(0);
        }
    }
    
    return 0;
}

 実行すると、以下のような結果が表示されます。

i = 0 のときの処理
i = 1 のときの処理
i = 2 のときの処理

 iが2のときでプログラムが終了していることを確認して下さい。

 Tips:exit関数の引数を0としましたが、引数は整数値を入れるように定義されています。整数値なら何でも良いのですが、基本的には0が用いられています。1や2といった数値は、何らかのエラーが発生してプログラムを強制終了する際に引数として用いられています。なので、基本的にはexit(0)で問題ありません。

■スポンサーリンク

このページの先頭へ