Co je calloc v C?
Funkce calloc () v C je funkce používaná k přidělení více bloků paměti, které mají stejnou velikost. Jedná se o funkci dynamické alokace paměti, která přiděluje paměťový prostor složitým datovým strukturám, jako jsou pole a struktury, a do paměti vrací ukazatel neplatnosti. 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 alokovaný calloc v programování C má stejnou velikost.
calloc () Syntaxe:
ptr = (cast_type *) calloc (n, size);
- Výše uvedený příklad příkazu calloc v C se používá k přidělení n paměťových bloků stejné velikosti.
- Po přidělení paměťového prostoru se všechny bajty inicializují na nulu.
- Je vrácen ukazatel, který je aktuálně na prvním bajtu přiděleného paměťového prostoru.
Kdykoli dojde k chybě při přidělování paměťového prostoru, jako je 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.
#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;}
Výsledek calloc v příkladu C:
Building and calculating the sequence sum of the first 10 termsSum = 45