====== free() ====== free ist definiert in der ''[[start|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|malloc()]], [[calloc|calloc()]] oder [[realloc|realloc()]] vom Betriebssystem angefordert wurde, wieder an das Betriebssystem zurück. ===== Signatur ===== #include void free ( void * memoryBlock ); **memoryBlock**: Zeiger, der von [[malloc|malloc()]], [[calloc|calloc()]] oder [[realloc|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|malloc()]], [[calloc|calloc()]] oder [[realloc|realloc()]]. ===== siehe auch ===== [[malloc]], [[calloc]], [[realloc]]