calloc()-funksjon i C-bibliotek med programeksempel
Hva er calloc i C?
Ocuco calloc() i C er en funksjon som brukes til รฅ tildele flere minneblokker med samme stรธrrelse. Det er en dynamisk minneallokeringsfunksjon som allokerer minneplassen til komplekse datastrukturer som arrays og strukturer og returnerer en void-peker til minnet. Calloc stรฅr for sammenhengende allokering.
Malloc funksjon brukes til รฅ tildele en enkelt blokk med minneplass mens calloc-funksjonen i C brukes til รฅ tildele flere blokker med minneplass. Hver blokk tildelt av calloc i C-programmering er av samme stรธrrelse.
calloc() syntaks:
ptr = (cast_type *) calloc (n, size);
- Eksemplet ovenfor pรฅ calloc i C brukes til รฅ tildele n minneblokker av samme stรธrrelse.
- Etter at minneplassen er tildelt, initialiseres alle byte til null.
- Ocuco pekeren som for รธyeblikket er pรฅ den fรธrste byten av den tildelte minneplassen, returneres.
Nรฅr det er en feil ved allokering av minneplass, for eksempel mangel pรฅ minne, returneres en null-peker som vist i calloc-eksemplet nedenfor.
Hvordan bruke calloc
Calloc-programmet nedenfor i C beregner summen av 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 av calloc i C-eksempel:
Building and calculating the sequence sum of the first 10 terms Sum = 45
