BohYoh.comトップページへ  exit
C言語 標準ライブラリ アルファベット順索引 ヘッダ別索引 ホームページへ C言語講座のページ

C89  C99  C11  環境関連関数
exit
ヘッダ #include <stdlib.h>
形 式 C89 C99 void exit(int status);
C11 _Noreturn void exit(int status);
機 能 正常プログラム終了を引き起こす。
C89 C99 プログラムで2回以上本関数の呼出しが実行されたときの動作は定義されない。
C11 at_quick_exit関数で登録された関数は呼び出されない。プログラムで2回以上本関数の呼出しが実行されたり、本関数に加えてquick_exit関数が呼び出されたときの動作は定義されない。 処理は、以下の三つのステップで行われる。
  • atexit関数で登録されたすべての関数を、登録の逆順で呼び出す(同じ関数が複数回登録されている場合は、登録された回数だけ呼び出される)。
    C99 C11 ただし、その関数より前に登録されている関数のうちで、その関数の登録時点で既に呼び出されているものに対しては、それらの呼出しよりも後の呼出しとなる。登録された関数の呼出しの途中で、longjmp関数の呼出し(登録された関数の呼出しを終了させる)がある場合の動作は定義されない。
  • 書き出されていないバッファリングされたデータをもつすべてのオープンしているストリームをフラッシュし、すべてのオープンしているストリームをクローズし、さらにtmpfile関数で生成したすべてのファイルを削除する。
  • 制御をホスト環境に戻す。statusの値が0またはEXIT_SUCCESSの場合、成功終了状態を処理系定義の形式で返す。statusの値がEXIT_FAILUREの場合、失敗終了状態を処理系定義の形式で返す。それ以外の場合、返される状態は処理系定義である。
返却値 なし(呼出し元に復帰することはできない)。
補 足 異常プログラム終了を実行したい場合は、本関数ではなくabort関数を利用するとよい。


BohYoh.comトップページへ