Функции библиотеки C -calloc()

Стандартная библиотека C - <stdlib.h>

Описание

Функции библиотеки Cvoid *calloc(size_t nitems, size_t size)Выделяет необходимый объём памяти и возвращает указатель на него.mallocиcallocРазница в том, что malloc не обнуляет память, тогда как calloc обнуляет выделенную память.

Примечание:Функция calloc() инициализирует всю выделенную память нулями. Если инициализация не нужна, вместо неё можно использовать функцию malloc(). Кроме того, при использовании calloc() учитывайте, что если выделенный блок памяти слишком велик, это может привести к нехватке памяти.

Объявление

Ниже приведено объявление функции calloc().

void *calloc(size_t nitems, size_t size)

Параметр

  • nitems-- Количество элементов, которые необходимо выделить.
  • size-- Размер каждого элемента.

Возвращаемое значение

Эта функция возвращает указатель на выделенную память. Если запрос завершается неудачно, она возвращает NULL.

Пример

В следующем примере демонстрируется использование функции calloc().

Пример

#include <stdio.h> #include <stdlib.h> int main() { int i, n; int *a; printf("Количество элементов для ввода:"); scanf("%d",&n); a = (int*)calloc(n, sizeof(int)); printf("Введите %d чисел:\n",n); for( i=0 ; i < n ; i++ ) { scanf("%d",&a[i]); } printf("Введенные числа:"); for( i=0 ; i < n ; i++ ) { printf("%d ",a[i]); } free (a); // освобождение памяти return(0); }

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

要输入的元素个数:3
输入 3 个数字:
22
55
14
输入的数字为:22 55 14

Стандартная библиотека C - <stdlib.h>

Другие расширения