Releases allocated memory #include <stdlib.h> void free ( void *ptr ); After you have finished using a memory block that you allocated by calling malloc( ), calloc( ) or realloc( ), the free( ) function releases it to the system for recycling. The pointer argument must be the exact address furnished by the allocating function, otherwise the behavior is undefined. If the argument is a null pointer, free( ) does nothing. In any case, free( ) has no return value. Examplechar *ptr; /* Obtain a block of 4096 bytes ... */ ptr = calloc(4096, sizeof(char)); if ( ptr == NULL ) fprintf( stderr, "Insufficient memory.\n" ), abort( ); else { /* ... use the memory block ... */ strncpy( ptr, "Imagine this is a long string.\n", 4095 ); fputs( stdout, ptr ); /* ... and release it. */ free( ptr ); } See Alsomalloc( ), calloc( ), realloc( ) |