Čo je calloc v C?
Calloc () v C je funkcia slúži na pridelenie viac blokov pamäte, ktoré majú rovnakú veľkosť. Jedná sa o funkciu dynamického prideľovania pamäte, ktorá vyhradzuje pamäťový priestor zložitým dátovým štruktúram, ako sú polia a štruktúry, a do pamäte vracia ukazovateľ neplatnosti. Calloc znamená súvislé prideľovanie.
Funkcia Malloc sa používa na pridelenie jedného bloku pamäťového priestoru, zatiaľ čo funkcia calloc v C sa používa na pridelenie viacerých blokov pamäťového priestoru. Každý blok alokovaný programom calloc v programovaní C má rovnakú veľkosť.
calloc () Syntax:
ptr = (cast_type *) calloc (n, size);
- Vyššie uvedený príklad príkazu calloc v C sa používa na pridelenie n pamäťových blokov rovnakej veľkosti.
- Po pridelení pamäťového priestoru sa všetky bajty inicializujú na nulu.
- Ukazovateľ, ktorý je momentálne na prvom bajte prideleného pamäťového priestoru, sa vráti.
Kedykoľvek dôjde k chybe pri prideľovaní pamäťového priestoru, ako je nedostatok pamäte, vráti sa nulový ukazovateľ, ako je to znázornené v nasledujúcom príklade calloc.
Ako používať calloc
Program calloc uvedený nižšie v C počíta súčet aritmetickej postupnosti.
#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;}
Výsledok calloc v príklade C:
Building and calculating the sequence sum of the first 10 termsSum = 45