Alternativa A - malloc().
Na linguagem C, a gestão de memória dinâmica é realizada através da biblioteca padrão <stdlib.h>. A função mais fundamental e comumente associada ao ato de reservar memória em tempo de execução é o malloc.
Análise das Alternativas
Para entender por que a alternativa A é a correta, vamos examinar o papel de cada função listada:
- A) malloc(): Significa "memory allocation". Ela solicita um bloco de memória do heap com o tamanho especificado em bytes. O conteúdo dessa memória não é inicializado (contém dados aleatórios). É a resposta padrão para alocação dinâmica geral.
- B) realloc(): Serve para redimensionar um bloco de memória já alocado anteriormente. Embora envolva alocação, seu foco principal é alterar o tamanho de uma área existente.
- C) calloc(): Também aloca memória, mas difere do
malloc por inicializar todos os bits da memória alocada para zero. É usada quando se precisa de memória limpa imediatamente. - D) free(): É usada para liberar (desalocar) memória que foi previamente reservada. Ela não aloca, ela libera recursos.
- E) alloc(): Esta função não existe na linguagem C padrão ANSI/ISO.
Resumo Técnico
A alocação dinâmica permite que o programa decida o tamanho das variáveis durante a execução, algo impossível com variáveis estáticas definidas apenas pelo código fonte.
| Função | Ação Principal |
|---|
malloc() | Reserva espaço não inicializado |
calloc() | Reserva espaço inicializado a zero |
realloc() | Redimensiona bloco existente |
free() | Libera bloco de memória |
Portanto, a função genérica utilizada para alocar memória dinamicamente é o malloc().