Compartilhar via


_aligned_recalloc

Altera o tamanho de um bloco de memória que é atribuído com _aligned_malloc ou _aligned_offset_malloc e inicializa a memória como 0.

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

Parâmetros

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

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

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

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

Valor de retorno

_aligned_recalloc retorna um ponteiro nulo (movido e possivelmente) no bloco de memória realocado. O valor de retorno é NULL se o tamanho for nulo e o argumento de buffer não é NULL, ou se não houver memória suficiente disponível para expandir o bloco ao tamanho especificado. No primeiro caso, o bloco original é liberado. No segundo caso, o bloco original permanece inalterado. O valor de retorno para um espaço de armazenamento que é garantia de ser alinhado adequadamente para o armazenamento de qualquer tipo de objeto. Para obter um ponteiro para um tipo diferente nulo, use uma conversão de tipos no valor de retorno.

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

Comentários

_aligned_recalloc é baseado em malloc. Para obter mais informações sobre como usar _aligned_offset_malloc, consulte malloc.

Esta função define errno a ENOMEM se a alocação de memória falhou 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_recalloc valida seus parâmetros. Se alignment não é uma potência de 2, esta função invoca o manipulador inválido do parâmetro, conforme descrito em Validação do parâmetro. Se a execução puder continuar, essa função retornará NULL e definirá errno como 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 padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

Consulte também

Referência

Alinhamento de dados

_recalloc

_aligned_offset_recalloc