Функція 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