calloc() Funktion i C-bibliotek med programeksempel
Hvad er calloc i C?
calloc() i C er en funktion, der bruges til at allokere flere hukommelsesblokke med samme størrelse. Det er en dynamisk hukommelsesallokeringsfunktion, der allokerer hukommelsespladsen til komplekse datastrukturer såsom arrays og strukturer og returnerer en tommarkør til hukommelsen. Calloc står for sammenhængende tildeling.
Malloc funktion bruges til at allokere en enkelt blok hukommelsesplads, mens calloc-funktionen i C bruges til at allokere flere hukommelsesblokke. Hver blok, der er allokeret af calloc'en i C-programmering, er af 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.
- Efter at hukommelsespladsen er allokeret, initialiseres alle bytes til nul.
- pointer som i øjeblikket er ved den første byte af den tildelte hukommelsesplads, 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 bruger du calloc
Nedenstående calloc-program i C beregner summen af en aritmetisk sekvens.
#include <stdio.h> 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 terms Sum = 45