free()

free ist definiert in der stdlib, die in C über stdlib.h, bzw. in C++ über cstdlib eingebunden wird.

Funktion

free() gibt einen Speicherblock, der zuvor mit Hilfe von malloc(), calloc() oder realloc() vom Betriebssystem angefordert wurde, wieder an das Betriebssystem zurück.

Signatur

#include <stdlib.h>
void free ( void * memoryBlock );

memoryBlock: Zeiger, der von malloc(), calloc() oder realloc() zurückgegeben wurde.

Bemerkungen

Es ist erlaubt, free den Wert NULL zu übergeben. Es ist also nicht erforderlich zuerst zu prüfen, ob eine Variable auf einen Datensatz oder nicht. Ein beliebter Fehler ist dann jedoch, die Variable, die weiterhin auf den freigegeben Speicherblock zeigt, nochmals zu verwenden oder freizugeben. Es ist daher ratsam, nach dem Aufruf von free(), die Variable auf NULL zu setzen.

Beispiele

finden sich auf den Seiten von malloc(), calloc() oder realloc().

siehe auch