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