_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.
Valor retornado
_aligned_realloc
retorna um ponteiro nulo para o bloco de memória realocado (e possivelmente migrado). O valor retornado é NULL
se o tamanho for zero e o argumento do buffer não NULL
for , ou se não houver 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 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âmetro 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, confira Estado global no CRT.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_aligned_realloc |
<malloc.h> |
Exemplo
Para obter mais informações, consulte _aligned_malloc
.