2012. 7. 13. 16:13

atexit()함수는 exit() 함수가 호출되거나 main 함수로부터 리턴될 때 실행될 함수를 등록하는 함수로 exit()

함수를 호출하면 atexit에 의해 등록된 함수가 실행된다. 만약 등록된 함수가 여러개 일경우 최근에 등록된

함수 순으로 실행되고 인수에 함수 이름이 위치한다.

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

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

void func1(void);
void func2(void);
void func3(void);

main()
{
    /* exit 함수 호출 때 실행될 함수를 func1, func2, func3 순으로 등록 */
    atexit(func1);
    atexit(func2);
    atexit(func3);

    exit(0);
}

void func1(void)
{
    printf("run function1\n");
}

void func2(void)
{
    printf("run function2\n");
}

void func3(void)
{
    printf("run function3\n");
}

Posted by 몰라욧