Funcția calloc() în Biblioteca C cu programul EXEMPLUL
Ce este calloc în C?
calloc() în C este o funcție folosită pentru a aloca mai multe blocuri de memorie având aceeași dimensiune. Este o funcție de alocare dinamică a memoriei care alocă spațiul de memorie structurilor complexe de date, cum ar fi matrice și structuri și returnează un pointer gol în memorie. Calloc înseamnă alocare contiguă.
Funcția Malloc este folosită pentru a aloca un singur bloc de spațiu de memorie, în timp ce funcția calloc din C este folosită pentru a aloca mai multe blocuri de spațiu de memorie. Fiecare bloc alocat de calloc în programarea C este de aceeași dimensiune.
calloc() Sintaxă:
ptr = (cast_type *) calloc (n, size);
- Exemplul de declarație de mai sus de calloc în C este folosit pentru a aloca n blocuri de memorie de aceeași dimensiune.
- După ce spațiul de memorie este alocat, toți octeții sunt inițializați la zero.
- indicatorul care se află în prezent la primul octet al spațiului de memorie alocat este returnat.
Ori de câte ori există o eroare la alocarea spațiului de memorie, cum ar fi lipsa de memorie, atunci este returnat un pointer nul, așa cum se arată în exemplul calloc de mai jos.
Cum se folosește calloc
Programul calloc de mai jos în C calculează suma unei secvențe aritmetice.
#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; }
Rezultatul calloc-ului în exemplu C:
Building and calculating the sequence sum of the first 10 terms Sum = 45