Calloc () Functie in C-bibliotheek met programma VOORBEELD

Inhoudsopgave:

Anonim

Wat is calloc in C?

De calloc () in C is een functie die wordt gebruikt om meerdere geheugenblokken met dezelfde grootte toe te wijzen. Het is een dynamische geheugentoewijzingsfunctie die de geheugenruimte toewijst aan complexe gegevensstructuren zoals arrays en structuren en een lege pointer naar het geheugen retourneert. Calloc staat voor aaneengesloten allocatie.

Malloc-functie wordt gebruikt om een ​​enkel blok geheugenruimte toe te wijzen, terwijl de calloc-functie in C wordt gebruikt om meerdere blokken geheugenruimte toe te wijzen. Elk blok toegewezen door het calloc in C-programmering heeft dezelfde grootte.

calloc () Syntaxis:

ptr = (cast_type *) calloc (n, size);
  • Het bovenstaande instructievoorbeeld van calloc in C wordt gebruikt om n geheugenblokken van dezelfde grootte toe te wijzen.
  • Nadat de geheugenruimte is toegewezen, worden alle bytes op nul geïnitialiseerd.
  • De pointer die zich momenteel op de eerste byte van de toegewezen geheugenruimte bevindt, wordt geretourneerd.

Telkens wanneer er een fout optreedt bij het toewijzen van geheugenruimte, zoals een tekort aan geheugen, wordt een nul-pointer geretourneerd zoals weergegeven in het onderstaande calloc-voorbeeld.

Hoe calloc te gebruiken

Het onderstaande calloc-programma in C berekent de som van een rekenkundige reeks.

#include int 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;}

Resultaat van de calloc in C-voorbeeld:

Building and calculating the sequence sum of the first 10 termsSum = 45