Ce este calloc în C?
Calloc () în C este o funcție utilizată pentru a aloca mai multe blocuri de memorie cu aceeași dimensiune. Este o funcție de alocare a memoriei dinamice care alocă spațiul de memorie structurilor de date complexe, cum ar fi matrici și structuri și returnează un pointer gol în memorie. Calloc înseamnă alocare contiguă.
Funcția Malloc este utilizată pentru a aloca un singur bloc de spațiu de memorie, în timp ce funcția calloc din C este utilizată pentru a aloca mai multe blocuri de spațiu de memorie. Fiecare bloc alocat de calloc în programarea C are aceeași dimensiune.
calloc () Sintaxă:
ptr = (cast_type *) calloc (n, size);
- Exemplul de declarație de mai sus de calloc în C este utilizat pentru a aloca n blocuri de memorie de aceeași dimensiune.
- După ce spațiul de memorie este alocat, atunci toți octeții sunt inițializați la zero.
- Pointerul care este î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 se afișează un indicator nul așa cum se arată în exemplul de calloc de mai jos.
Cum se folosește calloc
Programul calloc de mai jos din C calculează suma unei secvențe aritmetice.
#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;}
Rezultatul calocului în exemplul C:
Building and calculating the sequence sum of the first 10 termsSum = 45