calloc() Funkce v knihovně C s programem EXAMPLE
Co je calloc v C?
Jedno calloc() v C je funkce používaná k alokaci více bloků paměti o stejné velikosti. Je to funkce dynamického přidělování paměti, která přiděluje paměťový prostor komplexním datovým strukturám, jako jsou pole a struktury, a vrací do paměti ukazatel na prázdnotu. Calloc znamená souvislou alokaci.
Funkce Malloc se používá k přidělení jednoho bloku paměťového prostoru, zatímco funkce calloc v C se používá k přidělení více bloků paměťového prostoru. Každý blok přidělený calloc v programování C má stejnou velikost.
syntaxe calloc():
ptr = (cast_type *) calloc (n, size);
- Výše uvedený příklad příkazu calloc v C se používá k alokaci n paměťových bloků stejné velikosti.
- Po přidělení paměťového prostoru jsou všechny bajty inicializovány na nulu.
- Jedno ukazatel který je aktuálně na prvním bajtu přiděleného paměťového prostoru je vrácen.
Kdykoli dojde k chybě při přidělování paměťového prostoru, jako je například nedostatek paměti, vrátí se nulový ukazatel, jak je znázorněno v níže uvedeném příkladu calloc.
Jak používat calloc
Níže uvedený program calloc v C vypočítá součet aritmetické sekvence.
#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; }
Výsledek calloc v příkladu C:
Building and calculating the sequence sum of the first 10 terms Sum = 45