_recalloc
Комбинация realloc и calloc.Reallocates массив в памяти и инициализирует его элементы до 0.
void *_recalloc(
void *memblock
size_t num,
size_t size
);
Параметры
memblock
Указатель к ранее выбранному блок памяти.num
Число элементов.size
Длина в байтах каждого элемента.
Возвращаемое значение
_recalloc возвращает a void указатель на reallocated (и, возможно, перемещена) блок памяти.
Если недостаточно свободной памяти, чтобы развернуть блок к заданному размеру, левые неизмененные и исходный блок NULL возвращает.
Если запрошенный размер равен нулю, то блок указал к которым следуют memblock освобождает; возвращаемое значение NULLи memblock левый указывать на освобоженном блоке.
Указывает возвращаемого значения к объему хранения, который гарантированно подходяще выравниваются для хранения любого типа объекта.Получить указатель на тип, отличный от voidиспользуйте приведение типов в возвращаемом значении.
Заметки
_recalloc изменения функции размер выделенного блока памяти.memblock указывает аргумента в начало блока памяти.If memblock существует NULL, _recalloc ведет себя таким же способом, как calloc и выделяет новый блок num * size байты.Каждый элемент инициализируется значением 0.If memblock нет NULLэто должен быть указателем возвращенный предыдущим вызовом метода calloc" mallocили realloc.
Поскольку новый блок может находиться в новом области памяти, указатель, _recalloc не гарантирует, что быть указателем на пропущенным memblock аргумент.
_recalloc наборы errno В ENOMEM, если выделение памяти завершается неудачей или, если объем памяти превышает требуемый _HEAP_MAXREQ.Дополнительные сведения об этом и других кодах ошибок см. в разделе errno, _doserrno, _sys_errlist и _sys_nerr.
recalloc вызовы realloc использование C++ _set_new_mode функция, чтобы установить новый режим ядра.Новый режим ядра, указывающее, является ли при ошибке realloc новая процедура вызова обработчика в виде набора by _set_new_handler.По умолчанию realloc не вызывает новую процедуру обработчика при сбое выделить память.Можно переопределить используемую по умолчанию применяются расширения функциональности так как при _recalloc не удалось выделить память. realloc вызывает новую процедуру обработчика тем же способом, new оператор делает, если он завершается ошибкой для этой же причине.Переопределить значения по умолчанию, вызов
_set_new_mode(1)
в начале программу или ссылка со NEWMODE.OBJ.
При связывании с отладочной версией библиотеки времени выполнения языка c, _recalloc позволяет к _recalloc_dbg.Дополнительные сведения об управляемой куче во время процесса отладки см. в разделах Куча отладки для CRT.
_recalloc помечает __declspec(noalias) и __declspec(restrict), чтобы гарантированно изменяет функция глобальные переменные и присвоен псевдоним возвращенный указатель.Дополнительные сведения см. в разделе noalias и ограничьте.
Требования
Процедура |
Обязательный заголовок |
---|---|
_recalloc |
<stdlib.h> и <malloc.h> |
Дополнительные сведения о совместимости см. Совместимость во введении.
Эквивалент в .NET Framework
Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.