Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

atexit [d/mY H:i] (atual)
laureano criada
Linha 1: Linha 1:
 +====== 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:
 +
 +<code c>
 +/* programa atexit.c */
 +
 +#include <​stdio.h>​
 +#include <​stdlib.h>​
 +
 +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);​
 +}
 +</​code>​
atexit.txt · Última modificação: d/mY H:i por laureano
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0