exercicio ponteiros
Departamento de Estatística e Informática (DEINFO)
Disciplina: Introdução à Programação I Prof: Robson Medeiros
Ponteiro
1. Quais das seguintes instruções são corretas para declarar um ponteiro?
a. int _ptr x;
b. int *ptr;
c. *int ptr;
d. *x
2. Qual a maneira correta de referenciar ch, assumindo que o endereço de ch foi atribuído ao ponteiro ptr?
a. *ptr;
b. int *ptr;
c. ch
d. *ch
3. Assumindo que o endereço de num foi atribuído a um ponteiro pnum, quais das seguintes expressões são verdadeiras?
a. num == &pnum
c. pnum == *num
b. num == *pnum
d. pnum == &num
4. Assumindo que queremos ler o valor de x, e o endereço de x foi atribuído a px, a instrução seguinte é correta? Por que? scanf(“%d”, *px)
5. Qual é a instrução que deve ser adicionada ao programa seguinte para que ele trabalhe corretamente? main ( ) { int j, *pj;
*pj = 3;
}
6. Assumindo que o endereço da variável x foi atribuído a um ponteiro px, escreva uma expressão que não usa x e divida x por 5.
7. Qual o valor das seguintes expressões: int i = 3, j = 5; int *p = &i, *q = &j;
a. p == &i;
b. *p - *q
c. **&p
8. Qual será a saída deste programa? int main() { int i = 5, *p = &i; printf("%p %d %d %d %d \n", p, *p+2, **&p, 3**p, **&p+4); return 0;
}
9. Se i e j são variáveis inteiras e p e q são ponteiros para inteiros, quais das seguintes expressões de atribuição são ilegais?
a. p = &i;
d. i = (*&)j;
b. *q = &j;
e. i = *&*&j;
c. p = &*&i;
f. q = &p;
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
Departamento de Estatística e Informática (DEINFO)
Disciplina: Introdução à Programação I Prof: Robson Medeiros
10. O que este programa faz?
11. Encontre o erro em cada segmento de código abaixo. Se o erro puder ser corrigido, explique
como.