====== Função atexit ====== Sintaxe: ''[[tipos_dados|int]] atexit([[tipos_dados|void]] (*func)([[tipos_dados|void]]))'' Arquivo Header: ''stdlib.h'' ---- Conforme definido no ANSI C, pode-se registrar até 32 [[definicao_funcao|funções]] que serão automaticamente executadas quando um processo termina. Estas funções são chamadas de //exit handlers// e são registradas através da chamada à função **''atexit''**. As funções serão chamadas na ordem inversa ao seu registro. Pode-se registrar a mesma [[definicao_funcao|função]] mais de uma vez que a mesma será chamada tantas vezes quantas registradas. A [[definicao_funcao|função]] a ser registrada não deve esperar nenhum parâmetro bem como não é esperado que a função retorne nenhum valor devendo ser definida como: ''[[tipos_dados|void]] funcao([[tipos_dados|void]]);'' Veja o exemplo: /* programa atexit.c */ #include #include void saindo1(void) { printf("\nFinalizando 1."); return; } void saindo2(void) { printf("\nFinalizando 2."); return; } int main(void) { printf("\nRegistrando funções.."); atexit(saindo1); atexit(saindo2); printf("\nNo meio do programa..."); exit(0); }