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