Calloc () Funktion i C-bibliotek med program EKSEMPEL

Indholdsfortegnelse:

Anonim

Hvad er calloc i C?

Den calloc () i C er en funktion, der bruges til at allokere flere blokke af hukommelse, der har samme størrelse. Det er en dynamisk hukommelsesallokeringsfunktion, der tildeler hukommelsespladsen til komplekse datastrukturer såsom arrays og strukturer og returnerer en tomrumsmarkør til hukommelsen. Calloc står for sammenhængende fordeling.

Malloc-funktion bruges til at allokere en enkelt hukommelsesblok, mens calloc-funktionen i C bruges til at tildele flere blokke hukommelsesplads. Hver blok tildelt af calloc i C-programmering har samme størrelse.

calloc () Syntaks:

ptr = (cast_type *) calloc (n, size);
  • Ovenstående sætningseksempel på calloc i C bruges til at allokere n hukommelsesblokke af samme størrelse.
  • Når hukommelsespladsen er tildelt, initialiseres alle bytes til nul.
  • Markøren, der i øjeblikket er ved den første byte i det tildelte hukommelsesrum, returneres.

Når der er en fejl ved tildeling af hukommelsesplads, såsom mangel på hukommelse, returneres en nul pointer som vist i nedenstående calloc-eksempel.

Sådan bruges calloc

Nedenstående calloc-program i C beregner summen af ​​en aritmetisk sekvens.

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

Resultat af calloc i C-eksempel:

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