Функция calloc() в библиотеке C с ПРИМЕРОМ программы
Что такое calloc в C?
Команда calloc () в C — это функция, используемая для выделения нескольких блоков памяти одинакового размера. Это функция динамического выделения памяти, которая выделяет пространство памяти для сложных структур данных, таких как массивы и структуры, и возвращает в память пустой указатель. Calloc означает непрерывное распределение.
Функция Malloc используется для выделения одного блока памяти, тогда как функция calloc в C используется для выделения нескольких блоков памяти. Каждый блок, выделяемый calloc в программировании на C, имеет одинаковый размер.
calloc() Синтаксис:
ptr = (cast_type *) calloc (n, size);
- Приведенный выше пример оператора calloc в C используется для выделения n блоков памяти одинакового размера.
- После выделения пространства памяти все байты инициализируются нулями.
- Команда указатель который в данный момент находится в первом байте выделенного пространства памяти, возвращается.
Всякий раз, когда возникает ошибка при выделении памяти, например нехватка памяти, возвращается нулевой указатель, как показано в примере 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; }
Результат вызова в примере C:
Building and calculating the sequence sum of the first 10 terms Sum = 45