Функція calloc() у бібліотеці C із програмою ПРИКЛАД

Що таке calloc у C?

Вкладка calloc() у C — це функція, яка використовується для виділення кількох блоків пам’яті однакового розміру. Це функція динамічного розподілу пам’яті, яка виділяє простір пам’яті для складних структур даних, таких як масиви та структури, і повертає покажчик void до пам’яті. 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