Mikä on calloc C: ssä?
C: ssä oleva calloc () on toiminto, jota käytetään allokoimaan useita saman kokoisia muistilohkoja. Se on dynaaminen muistinjakotoiminto, joka jakaa muistitilan monimutkaisille tietorakenteille, kuten matriiseille ja rakenteille, ja palauttaa tyhjän osoittimen muistiin. Calloc tarkoittaa vierekkäistä allokointia.
Malloc-funktiota käytetään jakamaan yksi muistitilalohko, kun taas C: n calloc-toimintoa käytetään jakamaan useita muistitilalohkoja. Jokainen lohko, jonka calloc on allokoinut C-ohjelmoinnissa, on saman kokoinen.
calloc () Syntaksi:
ptr = (cast_type *) calloc (n, size);
- Yllä olevaa esimerkkiä Calloc: sta C: ssä käytetään varaamaan n saman kokoista muistilohkoa.
- Kun muistitila on varattu, kaikki tavut alustetaan nollaan.
- Osoitin, joka on tällä hetkellä varatun muistitilan ensimmäisellä tavulla, palautetaan.
Aina kun muistitilan kohdentamisessa 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.
#includeint 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;}
Calloc-tulos C-esimerkissä:
Building and calculating the sequence sum of the first 10 termsSum = 45