I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
ComputingCStdlib.h

atexit

Register a function to be called on exit
+ View other versions (4)

Interface

#include <stdlib.h>
int atexit (void (*function)(void))

Description

The atexit function registers the given function to be called at program exit, whether via reference:exit or via return from the program's main. Functions so registered are called in reverse order; no arguments are passed.

These functions must not call exit; if it should be necessary to terminate the process while in such a function, the _exit function should be used. Alternatively, the function may cause abnormal process termination, for example by calling reference:abort.

At least 32 functions can always be registered, and more are allowed as long as sufficient memory can be allocated.

Example 1

#include <stdio.h>
#include <stdlib.h>
 
void bye()
{
  printf("Bye bye!\n");
}
 
void main()
{
  // register the bye() function
  atexit(bye);
 
  // this first executes the function bye()
  // and then exits with error message 0
  exit(0);
}

Output:
Bye bye!

Errors

ENOMEM No memory was available to add the function to the list. The existing list of functions is unmodified.