free
Desaloca ou libera um bloco de memória.
void free(
void *memblock
);
Parâmetros
- memblock
Bloco de memória alocado anteriormente seja liberado.
Comentários
A função de free desaloca um bloco de memória (memblock) que é atribuído anteriormente por uma chamada a calloc, a malloc, ou a realloc. O número de bytes liberados equivale ao número de bytes necessários quando o pacote foi atribuído (ou realocado, no caso de realloc). Se memblock é NULL, o ponteiro será ignorado e free retorna imediatamente. Tente liberar um ponteiro inválido (um ponteiro para um bloco de memória que não é atribuído por calloc, a malloc, ou a realloc) pode afetar solicitações subsequentes de alocação e causar erros.
Se ocorrer um erro em liberar a memória, errno é definido com informações do sistema operacional na natureza da falha. Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.
Depois que um bloco de memória foi liberado, _heapmin minimiza a quantidade de memória livre no heap coalescendo as regiões não usado e liberação dos de volta ao sistema operacional. A memória liberada que não é liberada para o sistema operacional for restaurada para o pool livre e está disponível para alocação novamente.
Quando o aplicativo é vinculado a uma versão de depuração das bibliotecas de tempo de execução C, free resolve a _free_dbg. Para obter mais informações sobre como o heap é gerenciado durante o processo de depuração, consulte O heap de depuração do CRT.
free é marcado __declspec(noalias), o que significa que a função não é garantida para modificar as variáveis globais. Para obter mais informações, consulte noalias.
Para liberar a memória alocada com _malloca, use _freea.
Requisitos
Função |
Cabeçalho necessário |
---|---|
free |
<stdlib.h> e <malloc.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Exemplo
Consulte o exemplo de malloc.
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.