Alternativa D
Esta questão aborda um conceito fundamental da programação em linguagem C, especificamente sobre o comportamento das variáveis locais e a gestão de memória.
Análise do Conceito
Em C, quando declaramos uma variável local (dentro de uma função), ela possui armazenamento automático. Isso significa que o sistema operacional reserva um espaço na memória para ela no momento da execução, mas não garante que esse espaço esteja limpo ou zerado.
- Valores Indeterminados: Se você declarar uma variável sem inicializá-la, ela conterá o que estava naquela posição de memória anteriormente.
- "Lixo" de Memória: Esses dados residuais são chamados de garbage value (valor lixo). Eles podem ser números aleatórios, zeros ou qualquer dado deixado por processos anteriores.
- Risco: Utilizar essas variáveis sem atribuir um valor inicial resulta em comportamento indefinido, tornando o programa instável e impossível de prever.
Justificativa das Alternativas
| Alternativa | Avaliação | Motivo |
|---|
| A | ❌ Incorreta | O nome da variável é apenas um identificador simbólico. Ele não carrega histórico de uso entre programas diferentes. |
| B | ❌ Incorreta | Embora seja uma boa prática, a inicialização não é estritamente obrigatória para todas as variáveis (ex: globais iniciam em 0), mas não inicializar gera riscos lógicos. |
| C | ⚠️ Parcial | Entender o código é importante, mas o motivo principal da inicialização é a segurança e correção dos dados, não apenas a legibilidade. |
| D | ✅ Correta | Descreve corretamente o problema técnico: evitar o uso de valores aleatórios que estavam armazenados previamente naquele endereço de memória. |
| E | ❌ Incorreta | A inicialização é crucial para evitar erros de lógica e comportamentos indefinidos. |
Conclusão
A alternativa D é a resposta correta porque explica o risco funcional de não inicializar variáveis em C: a possibilidade de utilizar dados aleatórios (resíduos de memória) que não pertencem ao estado lógico atual do programa.