Computação Múltipla Escolha

A linguagem C é conhecida por sua eficiência e controle sobre a memória do sistema. Um estudante está aprendendo sobre alocação de memória e se pergunta como pode alocar memória dinamicamente em seu programa. Qual função em C é usada para alocar memória dinamicamente?

A linguagem C é conhecida por sua eficiência e controle sobre a memória do sistema. Um estudante está aprendendo sobre alocação de memória e se pergunta como pode alocar memória dinamicamente em seu programa. Qual função em C é usada para alocar memória dinamicamente?

  1. malloc()
  2. realloc()
  3. calloc()
  4. free()
  5. alloc()

Resolução completa

Explicação passo a passo

A
Alternativa A

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çãoAçã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().

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.