Функция calloc() в C библиотека с програма ПРИМЕР

Какво е calloc в C?

- calloc() в C е функция, използвана за разпределяне на множество блокове памет с еднакъв размер. Това е функция за динамично разпределение на паметта, която разпределя пространството в паметта за сложни структури от данни като масиви и структури и връща празен указател към паметта. Calloc означава непрекъснато разпределение.

Функция Malloc се използва за разпределяне на единичен блок пространство в паметта, докато функцията calloc в C се използва за разпределяне на множество блокове пространство в паметта. Всеки блок, разпределен от calloc в C програмирането, е с еднакъв размер.

calloc() Синтаксис:

ptr = (cast_type *) calloc (n, size);
  • Горният пример за оператор calloc в C се използва за разпределяне на n блока памет с еднакъв размер.
  • След като пространството в паметта е разпределено, всички байтове се инициализират до нула.
  • - показалка който в момента е в първия байт от разпределеното пространство на паметта, се връща.

Всеки път, когато има грешка при разпределяне на пространство в паметта, като например недостиг на памет, тогава се връща нулев указател, както е показано в примера calloc по-долу.

Как да използвате calloc

Програмата calloc по-долу в C изчислява сумата на аритметична последователност.

#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;
    }

Резултат от calloc в C пример:

 
Building and calculating the sequence sum of the first 10 terms
Sum = 45