Defined in header
int atexit( void (*func)(void) );
Registers the function pointed to by
func to be called on normal program termination (via exit() or returning from
main()). The functions will be called in reverse order they were registered, i.e. the function registered last will be executed first.
The same function may be registered more than once.
atexit is thread-safe: calling the function from several threads does not induce a data race.
The implementation is guaranteed to support the registration of at least 32 functions. The exact limit is implementation-defined.
|func||-||pointer to a function to be called on normal program termination|
 Return value
0 if the registration succeeds, nonzero value otherwise.
f2 f2 f1
- C17 standard (ISO/IEC 9899:2018):
- 220.127.116.11 The atexit function (p: 255)
- C11 standard (ISO/IEC 9899:2011):
- 18.104.22.168 The atexit function (p: 350)
- C99 standard (ISO/IEC 9899:1999):
- 22.214.171.124 The atexit function (p: 315)
- C89/C90 standard (ISO/IEC 9899:1990):
- 126.96.36.199 The atexit function
 See also
| registers a function to be called on quick_exit invocation |
C++ documentation for atexit