Alternativa E
Este exercício testa o entendimento sobre como ponteiros funcionam em linguagens como C ou C++, especificamente o conceito de desreferenciação. A chave para resolver está em perceber que *ptr e var referem-se à mesma localização de memória.
Desenvolvimento:
Para encontrar a resposta correta, precisamos simular a execução linha por linha do código fornecido, observando como os valores são modificados ao longo do tempo.
Análise do Código
Vamos acompanhar o estado das variáveis em cada etapa:
- Linha 1:
int var = 5; - A variável inteira
var é inicializada com o valor 5. - Linha 2:
int *ptr = &var; - Cria-se um ponteiro
ptr que armazena o endereço de memória de var. - Isso significa que qualquer alteração feita através de
*ptr afetará diretamente o valor de var. - Linha 3:
ptr = ptr + 10; - Aqui ocorre a desreferenciação. Acessamos o valor onde
ptr aponta. - O valor atual é 5. Realizamos a soma: $5 + 10 = 15$.
- O resultado 15 é salvo de volta na memória apontada por
ptr. - Como
ptr aponta para var, var agora contém 15. - Linha 4:
var = var + 5; - Acessamos a variável diretamente pelo seu nome.
- O valor atual de
var é 15 (atualizado no passo anterior). - Realizamos a soma: $15 + 5 = 20$.
- O novo valor 20 é armazenado em
var.
Conclusão:
Após todas as instruções executadas, o valor final armazenado na variável var é 20. Portanto, a alternativa correta é a E.