Пространства имён
Варианты
Действия

calloc

Материал из cppreference.com
< c‎ | memory

Определено в заголовочном файле <stdlib.h>
void* calloc( size_t num, size_t size );
Выделяет память для массива num объекты размером size и нулевой инициализирует его.
Оригинал:
Allocates memory for an array of num objects of size size and zero-initializes it.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если выделение успешно, возвращает указатель на самой низкой (первой) байт в выделенный блок памяти, который соответствующим выровнены для любого типа объектов.
Оригинал:
If allocation succeeds, returns a pointer to the lowest (first) byte in the allocated memory block that is suitably aligned for any object type.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если size равна нулю, то поведение определяется реализацией (нулевого указателя могут быть возвращены, или некоторые не нулевой указатель может быть возвращен, которая не может быть использован для доступа к памяти)
Оригинал:
If size is zero, the behavior is implementation defined (null pointer may be returned, or some non-null pointer may be returned that may not be used to access storage)
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Параметры

num -
количество объектов
Оригинал:
number of objects
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
size -
Размер каждого объекта
Оригинал:
size of each object
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

Указатель на начало новой выделенной памяти или NULL, если произошла ошибка. Указатель должен быть освобожден с free().
Оригинал:
Pointer to the beginning of newly allocated memory or NULL if error has occurred. The pointer must be deallocated with free().
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Заметки

В связи с выравниванием требования, количество выделенных байт не обязательно равна num*size.
Оригинал:
Due to the alignment requirements, the number of allocated bytes is not necessarily equal to num*size.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] См. также