Calloc () Funkció a C könyvtárban PÉLDÁVAL

Tartalomjegyzék:

Anonim

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.

#include 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;}

A Calloc eredménye a C példában:

Building and calculating the sequence sum of the first 10 termsSum = 45