Was ist Calloc in C?
Das calloc () in C ist eine Funktion, die verwendet wird, um mehrere Speicherblöcke mit derselben Größe zuzuweisen. Es ist eine dynamische Speicherzuweisungsfunktion, die den Speicherplatz komplexen Datenstrukturen wie Arrays und Strukturen zuweist und einen leeren Zeiger auf den Speicher zurückgibt. Calloc steht für zusammenhängende Zuordnung.
Die Malloc-Funktion wird verwendet, um einen einzelnen Speicherblock zuzuweisen, während die Calloc-Funktion in C verwendet wird, um mehrere Speicherblockblöcke zuzuweisen. Jeder vom Calloc in der C-Programmierung zugewiesene Block hat dieselbe Größe.
calloc () Syntax:
ptr = (cast_type *) calloc (n, size);
- Das obige Anweisungsbeispiel von calloc in C wird verwendet, um n Speicherblöcke derselben Größe zuzuweisen.
- Nachdem der Speicherplatz zugewiesen wurde, werden alle Bytes auf Null initialisiert.
- Der Zeiger, der sich derzeit im ersten Byte des zugewiesenen Speicherplatzes befindet, wird zurückgegeben.
Immer wenn beim Zuweisen von Speicherplatz ein Fehler auftritt, z. B. aufgrund des Speichermangels, wird ein Nullzeiger zurückgegeben, wie im folgenden Calloc-Beispiel gezeigt.
Verwendung von Calloc
Das folgende Calloc-Programm in C berechnet die Summe einer arithmetischen Folge.
#includeint main() {int i, * ptr, sum = 0;ptr = calloc(10, sizeof(int));if (ptr == NULL) {printf("Error! memory not allocated.");exit(0);}printf("Building and calculating the sequence sum of the first 10 terms \ n ");for (i = 0; i < 10; ++i) { * (ptr + i) = i;sum += * (ptr + i);}printf("Sum = %d", sum);free(ptr);return 0;}
Ergebnis des Callocs in C Beispiel:
Building and calculating the sequence sum of the first 10 termsSum = 45