Compartilhar via


_aligned_realloc

Altera o tamanho de um bloco de memória que foi alocado com _aligned_malloc ou _aligned_offset_malloc.

Sintaxe

void * _aligned_realloc(
   void *memblock,
   size_t size,
   size_t alignment
);

Parâmetros

memblock
O ponteiro do bloco de memória atual.

size
Tamanho da alocação de memória solicitada.

alignment
O valor de alinhamento, que deve ser um inteiro elevado à segunda potência.

Retornar valor

_aligned_realloc retorna um ponteiro nulo para o bloco de memória realocado (e possivelmente migrado). O valor de retorno é NULL se o tamanho for zero e o argumento do buffer não for , ou se não NULLhouver memória disponível suficiente para expandir o bloco para o tamanho especificado. No primeiro caso, o bloco original é liberado. No segundo caso, ele permanece inalterado. O valor retornado indica um espaço de armazenamento que está adequadamente alinhado para armazenamento de qualquer tipo de objeto. Para obter um ponteiro para um tipo que não seja nulo, digite a conversão no valor retornado.

É um erro realocar a memória e alterar o alinhamento de um bloco.

Comentários

_aligned_realloc baseia-se em malloc. Para obter mais informações sobre o uso de _aligned_offset_malloc, consulte malloc.

Essa função define errno como ENOMEM se a alocação da memória tiver falhado ou se o tamanho solicitado for maior que _HEAP_MAXREQ. Para obter mais informações sobre errno, consulte errno, _doserrno, _sys_errlist e _sys_nerr. Além disso, _aligned_realloc valida seus parâmetros. Se alignment não for uma potência de 2, essa função invocará o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essa função retornará NULL e definirá errno como EINVAL.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Requisitos

Rotina Cabeçalho necessário
_aligned_realloc <malloc.h>

Exemplo

Para obter mais informações, consulte _aligned_malloc.

Confira também

Alinhamento de dados