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
