Kaj je calloc v C?
Calloc () v C je funkcija uporablja za dodelitev več blokov pomnilnika, ki imajo enake velikosti. To je funkcija dinamične dodelitve pomnilnika, ki pomnilniški prostor dodeli zapletenim podatkovnim strukturam, kot so nizi in strukture, in vrne kazalec praznine v pomnilnik. Calloc pomeni sosednjo dodelitev.
Funkcija Malloc se uporablja za dodelitev enega bloka pomnilniškega prostora, medtem ko se funkcija calloc v C uporablja za dodelitev več blokov pomnilniškega prostora. Vsak blok, ki ga v programiranju C dodeli calloc, je enake velikosti.
Sintaksa calloc ():
ptr = (cast_type *) calloc (n, size);
- Zgornji primer stavka calloc v C se uporablja za dodelitev n pomnilniških blokov enake velikosti.
- Po dodelitvi pomnilniškega prostora se vsi bajti inicializirajo na nič.
- Vrnjen je kazalec, ki je trenutno v prvem bajtu dodeljenega pomnilniškega prostora.
Kadarkoli pride do napake pri dodeljevanju pomnilniškega prostora, kot je pomanjkanje pomnilnika, se vrne ničelni kazalec, kot je prikazano v spodnjem primeru calloc.
Kako uporabljati calloc
Spodnji program calloc v C izračuna vsoto aritmetičnega zaporedja.
#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;}
Rezultat mehka v primeru C:
Building and calculating the sequence sum of the first 10 termsSum = 45