C programming stdlib.h function - int atexit(void (*func)(void))
The atexit
function is a function in the C standard library that registers a function to be called at program termination. The atexit
function takes a function pointer as an argument and registers that function to be called when the program exits normally.
The syntax of the atexit
function is as follows:
int atexit(void (*func)(void));Sourc:ewww.theitroad.com
The atexit
function takes a function pointer as an argument, which specifies the function to be registered. The function must have no arguments and no return value. The function pointer is typically a pointer to a function that performs some cleanup operations before the program exits.
The atexit
function returns 0 on success, and a nonzero value on failure. The atexit
function can be called multiple times to register multiple functions. The functions are called in the reverse order of their registration.
Here is an example that demonstrates how to use the atexit
function:
#include <stdio.h> #include <stdlib.h> void cleanup(void) { printf("Cleaning up...\n"); } int main(void) { atexit(cleanup); printf("Hello, world!\n"); return 0; }
In this example, the program registers the cleanup
function using the atexit
function. The cleanup
function prints a message to the console to indicate that it is performing some cleanup operations. The program then prints "Hello, world!" to the console and exits normally. When the program exits, the cleanup
function is called, and it prints the "Cleaning up..." message to the console.
Note that the order in which the atexit
functions are registered determines the order in which they are called when the program exits. In this example, the cleanup
function is registered first, so it is called last. If multiple functions are registered, they are called in the reverse order of their registration.