Partilhar via


_aligned_realloc

Altera o dimensionar de um bloco de memória que foi alocado com _aligned_malloc or _aligned_offset_malloc.

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

Parâmetros

  • [in]memblock
    O ponteiro de bloco de memória corrente.

  • [in]size
    O dimensionar da alocação de memória solicitada.

  • [in]alignment
    O valor de alinhamento, que deve ser uma potência inteira de 2.

Valor de retorno

_aligned_realloc Retorna um ponteiro nulo para o bloco de memória realocada (e possivelmente movidos). O valor retornado é NULL Se o dimensionar é zero e não é o argumento de buffer NULL, ou se não houver memória suficiente disponível para expandir o bloco para determinado dimensionar. No primeiro caso, o bloco original é liberado.Na segunda, o bloco original não é alterada.O valor retornado aponta para um espaço de armazenamento que é garantido a ser alinhado adequadamente para o armazenamento de qualquer tipo de objeto.Para obter um ponteiro para um tipo diferente de void, use um tipo convertido no valor retornado.

É um erro para 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 como usar _aligned_offset_malloc, consulte malloc.

In Visual C++ 2005, define essa função errno para ENOMEM Se a falha na alocação de memória ou se era maior do que o dimensionar solicitado _HEAP_MAXREQ. Para obter mais informações sobre o errno, consulte errno, _doserrno, _sys_errlist e _sys_nerr.Além disso, _aligned_realloc valida os parâmetros. If alignment não é uma potência de 2, essa função chama o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, esta função retorna NULL e conjuntos errno para EINVAL.

Requisitos

Rotina

Cabeçalho necessário

_aligned_realloc

<malloc.h>

Exemplo

Para obter mais informações, consulte _aligned_malloc.

Consulte também

Referência

Alinhamento de dados