Поделиться через


_aligned_recalloc

Изменяет размер блока памяти, выделенного или _aligned_malloc_aligned_offset_malloc инициализирует память на 0.

Синтаксис

void * _aligned_recalloc(
   void *memblock,
   size_t num,
   size_t size,
   size_t alignment
);

Параметры

memblock
Указатель текущего блока памяти.

number
Число элементов.

size
Размер каждого элемента в байтах.

alignment
Значение выравнивания, которое должно быть целой степенью числа 2.

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

_aligned_recalloc возвращает указатель void на перераспределенный (и, возможно, перемещенный) блок памяти. Возвращаемое значение имеет NULL значение, если размер равен нулю, и аргумент буфера не NULLявляется, или если недостаточно доступной памяти для расширения блока до заданного размера. В первом случае исходный блок освобождается. Во втором случае исходный блок не изменяется. Возвращаемое значение указывает на место хранения, подходящее для хранения любого типа объекта. Чтобы получить указатель на тип, отличающийся от void, используйте приведение типа для возвращаемого значения.

Это ошибка для перерасчета памяти и изменения выравнивания блока.

Замечания

Функция _aligned_recalloc основана на функции malloc. Дополнительные сведения об использовании _aligned_offset_malloc см. в разделе malloc.

Эта функция задает для errno значение ENOMEM в случае сбоя выделения памяти или если запрошенный размер был больше _HEAP_MAXREQ. Дополнительные сведения о , см. в errnoразделеerrno , _doserrno_sys_errlistи _sys_nerr. Кроме того, _aligned_recalloc проверяет свои параметры. Если alignment значение не равно 2, эта функция вызывает обработчик недопустимых параметров, как описано в разделе проверки параметров. Если продолжение выполнения разрешено, эта функция возвращает NULL и задает для errno значение EINVAL.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок
_aligned_recalloc <malloc.h>

См. также

Выравнивание данных
_recalloc
_aligned_offset_recalloc