Что такое calloc в C?
Calloc () в C представляет собой функцию , используемая для выделения множества блоков памяти , имеющих один и тот же размер. Это функция динамического распределения памяти, которая выделяет пространство памяти для сложных структур данных, таких как массивы и структуры, и возвращает пустой указатель на память. Calloc означает непрерывное выделение.
Функция Malloc используется для выделения одного блока пространства памяти, в то время как функция calloc в C используется для выделения нескольких блоков пространства памяти. Каждый блок, выделяемый calloc в программировании на C, имеет одинаковый размер.
calloc () Синтаксис:
ptr = (cast_type *) calloc (n, size);
- Приведенный выше пример оператора calloc в C используется для выделения n блоков памяти одинакового размера.
- После выделения пространства памяти все байты инициализируются нулями.
- Возвращается указатель, который в настоящий момент находится на первом байте выделенного пространства памяти.
Всякий раз, когда возникает ошибка выделения пространства памяти, такая как нехватка памяти, возвращается нулевой указатель, как показано в приведенном ниже примере calloc.
Как использовать каллок
Приведенная ниже программа calloc на языке C вычисляет сумму арифметической последовательности.
#includeint 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 termsSum = 45