1)Qual o resultado impresso após a execução do trecho de programa a seguir?
int i, j, *p;
i = 4;
j = 7;
p = &j;
*p = 9;
cout << i << ' ' << j << ' ' << *p;
int i, j, *p;
i = 4;
j = 7;
p = &j;
*p = 9;
cout << i << ' ' << j << ' ' << *p;
Passo 1
O enunciado mostra um trecho de código em C
que declara três variáveis: os inteiros
e
e o ponteiro para inteiro
. Em seguida, faz as atribuições
,
,
,
,
e por fim imprime os valores de ,
e
. Nosso objetivo é entender como a atribuição via ponteiro afeta essas variáveis e descobrir o que será exibido.
e por fim imprime os valores de
Passo 2
Quando executamos
o ponteiro passa a “apontar” para a variável
. Logo em seguida,
significa “armazene o valor na posição de memória para a qual
aponta”, ou seja, em
. A variável
não é alterada, pois nunca foi modificada após receber
.
o ponteiro
significa “armazene o valor