Ponteiros
1) // (a) – 20
// (b) – 29
// (c) – A
// (d) – R
// (e) – A
// (f) – R
// (g) – O
// (h) – 31
// (i) – 45
// (j) – 27
// (l) – 31
// (m) – 45
// (n) – 272
2)
3) Letra a – * (pulo + 2)
Observação: pulo + 2, indica que o pulo na posição 0 (pulo[]) será somado a mais duas posições subsequentes, logo o valor obtido será a partir de pulo[2].
4) a) p mat + 1 – Certa.
Porque mat + 1 indica endereço de mat mais uma posição subsequente, portanto mat [1], logo, refere-se a um endereço como p é ponteiro pode receber endereço.
b) x (*mat)+1 – Certa.
Porque X está recebendo um inteiro (valor inteiro), quando escrevemos *mat indicamos o valor daquele endereço, logo, valor do endereço *mat + 1 isso, X está recebendo o valor desse somatório (*mat + 1).
5) Resposta em Negrito
Char (1 byte)
Int (2 bytes)
Float (2 bytes)
Double (8 bytes)
Vet [0] – 4092
Vet [0] – 4092
Vet [0] – 4092
Vet [0] – 4092
Vet [1] – 4093
Vet [1] – 4094
Vet [1] – 4094
Vet [1] – 4100
Vet [2] – 4094
Vet [2] – 4096
Vet [2] – 4096
Vet [2] – 4108
Vet [3] – 4095
Vet [3] – 4098
Vet [3] – 4098
Vet [3] – 4116
Vet [4] – 4096
Vet [4] – 4100
Vet [4] – 4100
Vet [4] – 4124
6) Vet [0] – 55000 + 8 (bytes)
Vet [1] – 55008 + 8 (bytes)
Vet [2] – 55016 + 8 (bytes)
Vet [3] – 55024 (Resposta)
7) V [3] – Indica um Vetor de 3 Elementos. (De acordo com a Kellen existem outras respostas cabíveis porém, essa segundo ela é a mais correta)
V + 3 – Endereço do 4° Elemento, ou seja, v é o vetor na posição 0, com + 3 ele anda 3 “casas” à frente para no 4° Elemento.
8) int x = 100, *p, **pp; p = &x; ( (p) aponta para o endereço de x); pp = &p; ( (pp) aponta para o endereço que p aponta, logo endereço de x); printf(“Valor de pp: %d\n”, **pp);
Valor de pp:
100
Observações:
%d Indica que o resultado será do tipo Decimal
\n Informa que a resposta