atexit

 

書式
int atexit(void (*function)(void));

機能
プログラム正常終了時に実行する関数へのポインタを登録する。最低32個は登録でき、呼び出し順は登録した時と逆の順番。

戻り値
登録が成功した時は0、失敗した時は0以外。

ヘッダーファイル
stdlib.h

 

使用例

void E_funcA(void){
  printf("条件Xのみの終了プログラムです。\n");
}
void E_funcB(void){
  printf("条件Xか条件Zの終了プログラムです\n");
}
void E_funcC(void){
  printf("条件Yか条件Zの終了プログラムです。\n");
}
int main(void){
  :;
  :;
  if(X){atexit(E_funcB);atexit(E_funcA);}
  else if(Y)atexit(E_funcC);
  else if(Z){atexit(E_funcC);atexit(E_funcB);}
  :;
  :;
}