_recalloc
Uma combinação de realloc e calloc.Realoca uma matriz na memória e o inicializa seus elementos como 0.
void *_recalloc(
void *memblock
size_t num,
size_t size
);
Parâmetros
memblock
Ponteiro para o bloco de memória alocada anteriormente.num
Número de elementos.size
Comprimento em bytes de cada elemento.
Valor de retorno
_recallocRetorna um void o ponteiro para o bloco de memória realocada (e possivelmente movidos).
Se não houver memória suficiente disponível para expandir o bloco para o tamanho, o bloco original permanece inalterada, e NULL é retornado.
Se o tamanho solicitado é zero, então o bloco apontada por memblock é liberada. o valor de retorno é NULL, e memblock é deixado aponta um bloco liberado.
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 um tipo de projeção no valor de retorno.
Comentários
O _recalloc função altera o tamanho de um bloco de memória alocada.O memblock argumento aponta para o início do bloco de memória.Se memblock é NULL, _recalloc se comporta da mesma maneira que calloc e aloca um novo bloco de num * size bytes.Cada elemento é inicializado para 0.Se memblock não é NULL, ele deve ser um ponteiro retornado por uma chamada anterior a calloc, malloc, ou possível realocar.
Como o novo bloco pode ser em um novo local de memória, o ponteiro retornado por _recalloc não é garantida para ser o ponteiro transmitido por meio do memblock argumento.
_recallocdefine errno para ENOMEM se a alocação de memória falhar ou se a quantidade de memória solicitada excede _HEAP_MAXREQ.Para obter informações sobre este e outros códigos de erro, consulte errno, _doserrno, _sys_errlist e _sys_nerr.
recallocchamadas realloc para usar o C++ _set_new_mode função para definir o novo modo de manipulador.O novo modo de manipulador indica se deve, em caso de falha, realloc é chamar a rotina manipuladora de novo conforme definido por _set_new_handler.Por padrão, realloc não chama a rotina manipuladora de novo em caso de falha ao alocar memória.Você pode substituir esse comportamento padrão para que, quando _recalloc Falha ao alocar memória, realloc chama a rotina manipuladora de novo na mesma maneira que o new operador oferece quando falhar pelo mesmo motivo.Para substituir o padrão, chamar.
_set_new_mode(1)
no início do programa ou o vínculo com o NEWMODE.OBJ.
Quando o aplicativo está vinculado com uma versão de depuração das bibliotecas de tempo de execução C, _recalloc resolve para _recalloc_dbg.Para obter mais informações sobre como a pilha é gerenciada durante o processo de depuração, consulte A pilha de depuração CRT.
_recallocestá marcado como __declspec(noalias) e __declspec(restrict), que significa que a função é garantida que não modificar variáveis globais, e que o ponteiro retornado não é com alias.Para obter mais informações, consulte noalias e restringir.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_recalloc |
<stdlib.h> e <malloc.h> |
Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.
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.