Co to jest Calloc w C?
Calloc () w C jest funkcja wykorzystywana do alokacji pamięci wielu bloków o takim samym rozmiarze. Jest to dynamiczna funkcja alokacji pamięci, która przydziela przestrzeń pamięci do złożonych struktur danych, takich jak tablice i struktury, i zwraca wskaźnik void do pamięci. Calloc oznacza ciągłą alokację.
Funkcja Malloc służy do przydzielania pojedynczego bloku pamięci, podczas gdy funkcja calloc w języku C służy do przydzielania wielu bloków pamięci. Każdy blok przydzielony przez calloc w programowaniu w C ma ten sam rozmiar.
calloc () Składnia:
ptr = (cast_type *) calloc (n, size);
- Powyższy przykład instrukcji calloc w C służy do alokacji n bloków pamięci o tym samym rozmiarze.
- Po przydzieleniu miejsca w pamięci wszystkie bajty są inicjowane do zera.
- Zwracany jest wskaźnik, który aktualnie znajduje się na pierwszym bajcie przydzielonej przestrzeni pamięci.
Ilekroć wystąpi błąd przy przydzielaniu miejsca w pamięci, taki jak niedobór pamięci, zwracany jest wskaźnik zerowy, jak pokazano w poniższym przykładzie wywołania calloc.
Jak używać Calloc
Poniższy program calloc w C oblicza sumę ciągu arytmetycznego.
#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;}
Wynik calloc w przykładzie C:
Building and calculating the sequence sum of the first 10 termsSum = 45