Ed
anteontem
Vamos analisar as opções para entender a diferença entre as funções `malloc` e `calloc` em C: A função `malloc` (memory allocation) aloca um bloco de memória de um tamanho específico, mas não inicializa essa memória, ou seja, os valores contidos nela são indeterminados. Já a função `calloc` (contiguous allocation) aloca memória para um número específico de elementos de um determinado tamanho e inicializa todos os bits da memória alocada com zero. Agora, vamos analisar as alternativas: A) A função "malloc" é usada para alocar memória dinamicamente e inicializar todos os seus bits com zero, enquanto a função "calloc" - Incorreta, pois `malloc` não inicializa a memória. B) Não há diferença, ambas alocam memória dinamicamente - Incorreta, pois há uma diferença significativa na inicialização da memória. C) "malloc" só pode ser usada para alocar memória para tipos simples, enquanto "calloc" pode alocar memória para tipos compostos - Incorreta, ambas podem alocar memória para qualquer tipo. D) A função "malloc" é usada para alocar memória dinamicamente para um único objeto, enquanto a função "calloc" é usada para a - Incorreta, pois `calloc` pode alocar para múltiplos objetos. E) A função "calloc" é usada para alocar memória dinamicamente e inicializar a memória alocada com zeros, enquanto "malloc" apenas aloca - Correta, esta é a descrição correta das funções. Portanto, a alternativa correta é: E.