calloc() funkcija u C biblioteci s programom PRIMJER

Što je calloc u C-u?

The calloc() u C je funkcija koja se koristi za dodjelu više blokova memorije iste veličine. To je funkcija dinamičke dodjele memorije koja dodjeljuje memorijski prostor složenim podatkovnim strukturama kao što su nizovi i strukture i vraća void pointer u memoriju. Calloc je kratica za kontinuiranu dodjelu.

Malloc funkcija koristi se za dodjelu jednog bloka memorijskog prostora dok se funkcija calloc u C-u koristi za dodjelu više blokova memorijskog prostora. Svaki blok koji dodjeljuje calloc u C programiranju iste je veličine.

calloc() Sintaksa:

ptr = (cast_type *) calloc (n, size);
  • Gornji primjer naredbe calloc u C-u koristi se za dodjelu n memorijskih blokova iste veličine.
  • Nakon što je memorijski prostor dodijeljen, svi bajtovi se inicijaliziraju na nulu.
  • The pokazivač koji je trenutno na prvom bajtu dodijeljenog memorijskog prostora se vraća.

Kad god postoji pogreška pri dodjeli memorijskog prostora kao što je nedostatak memorije, tada se vraća nulti pokazivač kao što je prikazano u donjem primjeru calloc.

Kako koristiti calloc

Donji calloc program u C-u izračunava zbroj aritmetičkog niza.

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

Rezultat calloc-a u C primjeru:

 
Building and calculating the sequence sum of the first 10 terms
Sum = 45