Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Lista 7 – Alocação dinâmica / Listas Encadeadas
1) Considere
struct caixa {
char c; // refere-se a cor : P (preta) ou B (branca)
float preco;
} ;
caixa *p, *q, *r;
caixa x , y, z;
Assinale V (verdadeiro) ou F (falso). Caso seja verdadeiro, exemplifique com, mas
se for falso, reescreva uma possível forma correta.
a) r = &x;
b) p = r;
c) q = y;
d) r = NULL;
e) p = *x;
f) *q = NULL;
g) *p = *x;
h) z.c = ‘B’;
i) rpreco = 12.99;
j) p.preco = 99.99;
k) (*p)c = ‘P’;
2) Considere struct no {
int dado;
struct no *link;
};
no *p, *q;
e as listas encadeadas abaixo :
Sempre a partir das considerações acima, diga objetivamente ou represente graficamente, o
que ocorrerá com as listas após cada item. Atenção : Um item não interfere no seguinte.
2 4
6
8
p
1 3
5
q
a) p = q;
b) plink = q;
c) plinklink = qlinklinklink;
d) qdado = 100;
e) plinkdado = qlinkdado;
f) q = NULL;
3) Seja o trecho
int *p, *q, x = 10;
q = &x;
p = new int;
*p = *q;
cout << “ X = “ << x
<< “*p = “ << *p
<< “*q = “ << *q
<< endl;
a) p e q são iguais ? Justifique.
b) *p e * q são iguais ? Justifique.
4) O que é impresso na tela , considerando o trecho dado abaixo ?
struct aluno {
int matricula;
float media;
} ;
aluno a, *p, *q;
a.matricula = 10989;
a.media = 9.5;
p = &a;
cout << “ Matricula = “ << pmatricula << endl;
cout << “Media = “ << pmedia << endl;
q = new aluno;
qmatricula = 20895;
qmedia = 8.9;
cout << qmatricula << endl;
cout << qmedia << endl;