Share via


_aligned_recalloc

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

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

Parâmetros

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

  • [in]num
    O número de elementos.

  • [in]size
    O tamanho em bytes de cada elemento.

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

Valor de retorno

_aligned_recallocRetorna um ponteiro nulo para o bloco de memória realocada (e possivelmente movidos).O valor de retorno é NULL se o tamanho é zero e o argumento de buffer não é NULL, ou se não houver memória suficiente disponível para expandir o bloco para o tamanho.No primeiro caso, o bloco original é liberado.No segundo caso, o bloco original é inalterado.O valor de retorno aponta para um espaço de armazenamento que é garantido para ser devidamente alinhado para o armazenamento de qualquer tipo de objeto.Para obter um ponteiro para um tipo diferente de void, use uma conversão no valor de retorno de tipo.

Ele é um erro para realocar a memória e alterar o alinhamento de um bloco.

Comentários

_aligned_recallocse baseia em malloc.Para obter mais informações sobre como usar o _aligned_offset_malloc, consulte malloc.

Essa função define errno para ENOMEM se a alocação de memória falhou ou o tamanho solicitado era maior do que _HEAP_MAXREQ.Para obter mais informações sobre o errno, consulte errno, _doserrno, _sys_errlist e _sys_nerr.Além disso, _aligned_recalloc valida os seus parâmetros.Se 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 terá permissão para continuar, esta função retorna NULL e define errno para EINVAL.

Requisitos

Rotina

Cabeçalho necessário

_aligned_recalloc

<malloc.h>

Equivalência do .NET Framework

Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Alinhamento de dados

_recalloc

_aligned_offset_recalloc