Observe o seguinte trecho de código:
Quais serão os valores de , e ao final de sua execução?
Passo 1
A melhor forma de resolvermos esse exercício é executarmos o trecho de código dado passo a passo.
Começando pela linha 03, conseguimos ver facilmente a declaração de duas variáveis inteiras e e de um ponteiro, também inteiro, chamado .
Passo 2
A partir da linha 05 temos diversas manipulações entre essas declarações, a primeira delas é a atribuição do endereço da variável ao ponteiro (linha 05), em seguida temos a atribuição do valor apontado por a (linha 06) e a atribuição do valor 4 novamente a (linha 07) que sobrescreve a atribuição realizada na linha 06.
Logo, até agora temos armazenando o valor 4 e apontando para a variável .
Passo 3
Na linha 08 nós conseguimos ver o incremento de uma unidade na variável apontada por , como essa variável é (que foi inicializada com 0 e não foi manipulada até essa linha) temos que agora ela armazena o valor 1.
Passo 4
Em seguida (linha 09) temos o decremento de uma unidade do valor armazenado por , que agora passa a armazenar o valor 3.
Passo 5
Por fim, temos o incremento de na variável apontada por , que é (linha 10). Como armazena o valor 3, (que armazena 1) agora passa a armazenar 4.
Resposta
Sendo assim, terminamos esse trecho de código com a variável armazenando o valor 3, o valor 4 e o endereço de memória de .