Provided by:
manpages-de-dev_0.5-4.1ubuntu1_all 
BEZEICHNUNG
calloc, malloc, free, realloc - belegen und freigeben von dynamischem
Speicher
ÜBERSICHT
#include <stdlib.h>
void *calloc(size_t nmemb, size_t size);
void *malloc(size_t size);
void free(void *ptr);
void *realloc(void *ptr, size_t size);
BESCHREIBUNG
calloc() belegt Speicher für ein Array von nmemb Elementen von jeweils
size Byte und gibt einen Zeiger auf den belegten Speicherbereich
zurück. Der Speicher wird auf Null gesetzt.
malloc() belegt size Byte und gibt einen Zeiger auf den belegten
Speicherbereich zurück. Der Speicher wird nicht mit Nullen
beschrieben.
free() gibt den Speicher frei, auf den ptr zeigt, welcher von einem
früheren Aufruf von malloc(), calloc() oder realloc() zurückgegeben
worden sein muss. Wenn ptr NULL ist, wird keine Operation ausgeführt.
realloc() ändert die Größe des Speicherblocks, auf den ptr zeigt, auf
size Byte. Der Inhalt bleibt unverändert bis zum Minimum von alter und
neuer Größe; neu angeforderter Speicher bleibt uninitialisiert. Wenn
ptr NULL ist, ist der Aufruf äquivalent zu malloc(size); wenn die Größe
Null ist, ist der Aufruf äquivalent zu free(ptr). Wenn ptr nicht NULL
ist, muss er von einem früheren Aufruf von malloc(), calloc() oder
realloc() zurückgegeben worden sein.
RÜCKGABEWERTE
Bei calloc() und malloc() ist der zurückgegebene Wert ein Zeiger auf
den belegten Speicher, welcher passend ausgerichtet ist für alle Arten
von Variablen, oder NULL falls die Anforderung scheitert.
free() gibt keinen Wert zurück.
realloc() gibt einen Pointer auf den neu belegten Speicher zurück,
welcher passend ausgerichtet ist für alle Arten von Variablen und
welcher sich von ptr unterscheiden kann, oder NULL falls die
Anforderung scheitert oder falls die Größe Null war. Wenn realloc()
scheitert bleibt der ursprüngliche Block unverändert - er wird nicht
freigegeben oder verändert.
KONFORM ZU
ANSI-C
SIEHE AUCH
brk(2).