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