atexit 함수

 

int atexit(void (*func)(void)); 종료할 때 수행할 함수를 등록

입력 매개 변수 리스트

func 종료할 때 수행할 함수

반환 값

성공 시 0, 실패 시 0이 아닌 값

 

atexit 함수는 프로그램이 종료할 때 수행해야 하는 기능을 등록하는 함수입니다. 등록한 함수가 여러 개일 때 등록한 역순으로 수행합니다.

사용 예

//C언어 표준 라이브러리 함수 가이드
//int atexit(void (*func)(void)); 종료할 때 수행할 함수를 등록
//atexit 함수로 프로그램 종료할 때 수행할 함수를 등록

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

void EndFuncA(void);
void EndFuncB(void);
void EndFuncC(void);
void Test(void);

int main(void)
{
    atexit(EndFuncA);//프로그램 종료할 때 수행할 EndFuncA 함수 등록
    atexit(EndFuncB);//프로그램 종료할 때 수행할 EndFuncB 함수 등록
    atexit(EndFuncC);//프로그램 종료할 때 수행할 EndFuncC 함수 등록

    Test();
    printf("Here is main\n");

    return 0;
}
void EndFuncA(void)
{
    printf("Here is EndFuncA\n");
}
void EndFuncB(void)
{
    printf("Here is EndFuncB\n");
}
void EndFuncC(void)
{
    printf("Here is EndFuncC\n");
}
void Test(void)
{
    printf("Test 1\n");
    exit(0);//프로그램 종료
    printf("Test 2\n");
}

출력

Test 1
Here is EndFuncC
Here is EndFuncB
Here is EndFuncA