Escolar Documentos
Profissional Documentos
Cultura Documentos
Programao Estruturada
- Ponteiros Parte 3 -
Aula 13
Roteiro
Ponteiros genricos
Ponteiros para estruturas
Indireo mltipla
1
17/03/2017
Ponteiros genricos
(void)
Ponteiros void
So ponteiros de propsito geral que pode
apontar para qualquer tipo de dado.
Ponteiros genricos
(void)
Declarao:
void *ptr;
Observaes:
o conceito de ponteiros void no tem nada a ver
com o tipo void para funes.
O contedo da varivel apontada por um ponteiro
void no pode ser acessado por meio desse
ponteiro.
necessrio criar outro ponteiro e fazer a
converso de tipo na atribuio. 4
2
17/03/2017
Ponteiros genricos
#include <stdio.h>
int main(){
int i = 5, *pi;
float f = 3.2, *pf;
void *pv;
pv = &i;
pi = (int *)pv; //o casting obrigatrio
printf(%d\n, *pi);
pv = &f;
pf = (float *)pv;
printf(%.2f\n, *pf);
system(pause);
return 0;
}
Ponteiros para
estruturas
Declarao:
struct Aluno *al;
al.nome //ERRO 6
3
17/03/2017
Ponteiros para
estruturas
Formas de acessar os membros de uma
estrutura com ponteiros:
Indireo Mltipla
(ponteiro para ponteiro)
Endereo Valor
Indireo Mltipla
Ponteiro Ponteiro Varivel
4
17/03/2017
Indireo Mltipla
(ponteiro para ponteiro)
Observaes:
Uma varivel que um ponteiro para um
ponteiro deve ser declarada como tal. Isso
feito colocando-se um * adicional na frente do
nome da varivel.
Indireo Mltipla
(ponteiro para ponteiro)
#include <stdio.h>
int main(){
int x = 10, *p, **q;
p = &x;
q = &p;
printf(%d, **q);
system(pause);
return 0;
}
10
5
17/03/2017
Referncias
MIZRAHI, V. V. Treinamento em
Linguagem C. 2 Edio. So Paulo:
Person Prentice Hall, 2008.
11