C-Bibliotheksfunktionen -calloc()

C-Standardbibliothek - <stdlib.h>

Beschreibung

C-Bibliotheksfunktionenvoid *calloc(size_t nitems, size_t size)Reserviert den benötigten Speicherplatz und gibt einen Zeiger darauf zurück.mallocundcallocDer Unterschied ist, dass malloc den Speicher nicht auf null setzt, während calloc den zugewiesenen Speicher auf null setzt.

Hinweis:Die Funktion calloc() initialisiert den gesamten zugewiesenen Speicher auf null. Wenn keine Initialisierung erforderlich ist, kann stattdessen die Funktion malloc() verwendet werden. Beachten Sie außerdem bei der Verwendung von calloc(), dass ein zu großer zugewiesener Speicherblock zu Problemen mit unzureichendem Speicher führen kann.

Deklaration

Nachfolgend finden Sie die Deklaration der Funktion calloc().

void *calloc(size_t nitems, size_t size)

Parameter

  • nitems-- Die Anzahl der zuzuweisenden Elemente.
  • size-- Die Größe jedes Elements.

Rückgabewert

Diese Funktion gibt einen Zeiger auf den zugewiesenen Speicher zurück. Wenn die Anforderung fehlschlägt, gibt sie NULL zurück.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Funktion calloc().

Beispiel

#include <stdio.h> #include <stdlib.h> int main() { int i, n; int *a; printf("Anzahl der einzugebenden Elemente:"); scanf("%d",&n); a = (int*)calloc(n, sizeof(int)); printf("Geben Sie %d Zahlen ein:\n",n); for( i=0 ; i < n ; i++ ) { scanf("%d",&a[i]); } printf("Die eingegebenen Zahlen sind:"); für( i=0 ; i < n ; i++ ) { printf("%d ",a[i]); } free (a); // Speicher freigeben return(0); }

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

要输入的元素个数:3
输入 3 个数字:
22
55
14
输入的数字为:22 55 14

C-Standardbibliothek - <stdlib.h>

Weitere Erweiterungen