I have forgotten
my Password

Or login with:

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


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


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


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
  // this first executes the function bye()
  // and then exits with error message 0

Bye bye!


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