Alternativa D
Em linguagem C, a gestão de memória exige atenção especial ao declarar variáveis locais. O principal motivo para inicializá-las manualmente é garantir que o programa não utilize dados residuais ou aleatórios.
Análise Técnica
A seguir, detalhamos o funcionamento das variáveis em C e a justificativa para a escolha correta:
- Variáveis Locais (Autômáticas): Quando você declara uma variável dentro de uma função (escopo local), ela é alocada na pilha (stack). O compilador não garante que essa área de memória venha zerada ou limpa.
- Valores Residuais: Se a variável não for inicializada, ela conterá o valor que estava previamente armazenado naquele endereço de memória (conhecido como "lixo" ou garbage value).
- Risco de Erros: Utilizar esse valor indeterminado pode levar a comportamentos imprevisíveis, erros lógicos difíceis de depurar ou vulnerabilidades de segurança.
Avaliação das Alternativas
- (a) Incorreta: O nome da variável refere-se à identificação no código, não ao conteúdo da memória. O fato de ter sido usada antes não afeta a necessidade de inicialização por si só.
- (b) Incorreta: Embora o código possa compilar sem inicialização, o comportamento é indefinido. É tecnicamente desnecessário para a compilação, mas perigoso para a execução.
- (c) Incorreta: A inicialização não é obrigatória pelo padrão C para todas as variáveis (ex: globais são zero-inicializadas automaticamente, mas locais não).
- (d) Correta: Esta opção descreve o problema central: evitar o uso de valores antigos que ocupam aquele espaço de memória antes da alocação atual.
- (e) Incorreta: Embora ajude na legibilidade, o entendimento do código é secundário comparado à necessidade de segurança e correção lógica dos dados.
Conclusão
A inicialização manual em C é uma prática essencial de segurança para evitar o uso de valores indeterminados deixados em espaços de memória livres. Portanto, a alternativa D é a resposta correta.