calloc
Nach oben zu Alloc.h - Index
Inhaltsverzeichnis
Header-Datei
alloc.h, stdlib.h
Prototyp
void *calloc(size_t nitems, size_t size);
Beschreibung
Dient zur Zuweisung von Hauptspeicher.
calloc gewährt Zugriff auf den C-Heap-Speicher. Der Heap ist zur dynamischen Zuweisung von Speicherblöcken variabler Größe verfügbar. Für viele Datenstrukturen, z. B. Baumstrukturen und Listen, wird standardmäßig Speicher auf dem Heap reserviert.
calloc reserviert einen Speicherblock der Größe nitems * size. Der Block wird mit dem Wert 0 initialisiert.
Rückgabewert
calloc gibt einen Zeiger auf den neu zugewiesenen Speicherblock zurück. Wenn nicht ausreichend Speicher verfügbar ist oder wenn nitems oder size gleich 0 ist, gibt calloc NULL zurück.
Portabilität
POSIX | ANSI C | ANSI C++ | Win32 | Win64 | macOS | |
---|---|---|---|---|---|---|
calloc | + | + | + | + |
Beispiel
#include <stdio.h>
#include <alloc.h>
#include <string.h>
int main(void) {
char *str = NULL;
/* allocate memory for string */
str = (char *) calloc(10, sizeof(char));
/* copy "Hello" into string */
strcpy(str, "Hello");
/* display string */
printf("String is %s\n", str);
/* free memory */
free(str);
return 0;
}