Mi a calloc C-ben?
A calloc () a C-ben egy funkció, amely több azonos méretű memóriablokk lefoglalására szolgál. Ez egy dinamikus memóriafoglalási funkció, amely lefoglalja a memóriaterületet összetett adatstruktúrákhoz, például tömbökhöz és struktúrákhoz, és egy üres mutatót ad vissza a memóriába. A Calloc az összefüggő allokációt jelenti.
A Malloc függvény egyetlen memóriaterület lefoglalására szolgál, míg a C-ben lévő calloc függvény több memóriaterület lefoglalására szolgál. A Calloc által C programozásban allokált minden blokk azonos méretű.
calloc () Szintaxis:
ptr = (cast_type *) calloc (n, size);
- A fenti állítás példája a calloc C-ben n azonos méretű memóriablokk lefoglalására szolgál.
- A memóriaterület kiosztása után az összes bájt nullára inicializálódik.
- Visszaadja azt a mutatót, amely jelenleg a lefoglalt memóriaterület első bájtjánál található.
Ha hiba történik a memóriaterület kiosztásakor, például memóriahiány, akkor egy null mutató kerül visszaadásra, az alábbi calloc példa szerint.
Hogyan kell használni a calloc-ot
Az alábbi C-os calloc program kiszámítja egy aritmetikai szekvencia összegét.
#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;}
A Calloc eredménye a C példában:
Building and calculating the sequence sum of the first 10 termsSum = 45