calloc()-funktio C-kirjastossa, jossa on ohjelma EXAMPLE
Mikรค on calloc C:ssรค?
calloc() in C on funktio, jota kรคytetรครคn allokoimaan useita samankokoisia muistilohkoja. Se on dynaaminen muistin varaustoiminto, joka varaa muistitilan monimutkaisille tietorakenteille, kuten taulukoille ja rakenteille, ja palauttaa tyhjรคn osoittimen muistiin. Calloc tarkoittaa vierekkรคistรค allokaatiota.
Malloc-toiminto kรคytetรครคn varaamaan yksi lohko muistitilaa, kun taas calloc-funktiota C:ssรค kรคytetรครคn varaamaan useita muistitilalohkoja. Jokainen C-ohjelmoinnin callocin allokoima lohko on samankokoinen.
calloc() Syntaksi:
ptr = (cast_type *) calloc (n, size);
- Yllรค olevaa lauseesimerkkiรค callocista C:ssรค kรคytetรครคn varaamaan n samankokoista muistilohkoa.
- Kun muistitila on varattu, kaikki tavut alustetaan nollaan.
- osoitin joka on tรคllรค hetkellรค varatun muistitilan ensimmรคisessรค tavussa, palautetaan.
Aina kun muistitilan varaamisessa tapahtuu virhe, kuten muistin puute, palautetaan nollaosoitin alla olevan calloc-esimerkin mukaisesti.
Kuinka kรคyttรครค callocia
Alla oleva calloc-ohjelma C:ssรค laskee aritmeettisen sekvenssin summan.
#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;
}
Callocin tulos C-esimerkissรค:
Building and calculating the sequence sum of the first 10 terms Sum = 45
