Estrutura de Dados - Lista de Exercícios sobre Ponteiros
1. Faculdades Santo Agostinho - FASA
Estrutura de Dados – Lista de Exercícios III Parte1
Prof.: Rafael Antônio Gonçalves Lima
1
Nome: Data: 21/05/2014
Questão 1
O que é um ponteiro e para que são utilizados?
Questão 2
Quais das seguintes instruções são corretas para declarar um ponteiro?
a) int _ptr x; c) *int ptr;
b) int *ptr; d) int &ptr;
Questão 3
Na expressão float *pont; o que é do tipo float?
a) a variável pont c) a variável apontada por pont
b) o endereco de pont d) nenhuma das anteriores
Questão 4
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
Questão 5
Considerando as variáveis e ponteiros definidos abaixo; quais são as atribuições permitidas?
int x, *ptx, **pp;
float a, *pta, **pf;
a) x = 100; e) pp = &pta; i) pp = &x;
b) *pta = &a; f) **pf = 7.9; j) pf = &pta;
c) ptx = &a; g) *ptx = 20;
d) *pf = &a; h) ptx = &x;
2. Faculdades Santo Agostinho
Lista de Exercícios
2
Questão 6
Dadas as declarações abaixo; qual é o valor dos itens:
int x = 10, *px = &x, **ppx = &px;
float y = 5.9, *py = &y, **ppy = &py;
Variável ==> x y px py ppy ppx
Endereço ==> FFA0 FFB4 FFF0 FFC6 FFA6 FFD4
a) x= g) *ppx = m) &ppy =
b) *py = h) py = n) *&px =
c) px = i) &x = o) **ppx++ =
d) &y = j) py++ = p) px++ =
e) *px = k) *px-- = q) &ppx =
f) y= l) **ppy =
Questão 7
Explique a diferença ente
p++; (*p)++; *(p++);
Questão 8
O que quer dizer *(p+10); ?
Questão 9
Faça uma função que receba um vetor de inteiros e ordene-o, usando passagem de parâmetros
por referência (ponteiros).
Questão 10
Faça uma função usando ponteiros que copie o conteúdo de uma string para outra string.
Questão 11
Faça uma função que receba um vetor de inteiros e retorne quais o maior e o menor elementos
dentro de um vetor, usando ponteiros.
Questão 12
Faça uma função que receba dois vetores e retorne o produto dos mesmos.