Escolar Documentos
Profissional Documentos
Cultura Documentos
Tiago 3:2
Estrutura de Dados
Ponteiros Aula 04
Prof Ms. Elizabeth Brito Llamosas Gomes
1
PONTEIRO
uma varivel cujo contedo
localizao de outra varivel;
PONTEIRO
Por exemplo, na declarao:
int i = 15, j, *p, *q;
i e j so variveis numricas do tipo inteiro e
p e q so ponteiros para variveis do tipo
inteiro, onde o asterisco frente de p e q
indica sua funo.
Para o ponteiro p apontar para a varivel i faa
p = &i ;
Para inicializar p
faa
p = null;
PONTEIRO
Sendo p = &i ;
Assumindo que os endereos das variveis
i, j, p e q sejam 1080, 1082, 1084 e 1086,
depois de se atribuir 15 para i na
declarao, as posies e os valores nas
variveis de memria do computador so:
i
1080
15
j
1082
?
1084 1080 p
q
1086
?
i
15
Ponteiro - Exemplo 1
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
system("color f0");
int I = 15, J, *P, *Q;
P = &I;
printf("\n i = %d *p = %d e p = %i \n\n",I,*P,P);
printf("\n &i = %d &j = %d \n\n",&I,&J);
system("pause");
return(0);
}
5
PONTEIRO
Ponteiro para estrutura:
struct ESTRUTURA
{
int A;
float B;
};
struct ESTRUTURA E, *P;
P = &E;
P -> A = 1;
// ou (*P).A = 1;
P -> B = 1.2; // ou (*P).B = 1.2;
Exemplo 2
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
system("color f0");
struct ESTRUTURA
{
int A;
float B;
};
struct ESTRUTURA E, *P;
P = &E;
(*P).A = 1;
// ou P->A = 1;
(*P).B = 1.2;
// ou P->B = 1.2;
printf("\n A = %d B = %.1f \n\n,P->A,P->B);
system("pause");
return(0);
}
Exerccio 1
Qual o valor de X e de Y ao final do programa?
int main(void)
{
system("color f0");
int Y, *P, X;
Y = 0;
P = &Y;
X = *P;
X = 4;
(*P)++;
X--;
(*P) += X;
printf ("\n Y = %d X = %d \n", Y,X);
system("pause");
return(0);
}
Exerccios 2 e 3
2. Qual das instrues abaixo correta para declarar um
ponteiro para inteiro?
a) *int pti
b) *pti
c) &i
d) int_pti pti
e) int *pti
3. Para as instrues, qual afirmativa falsa:
int *pti;
int i = 10;
pti = &i;
a) pti armazena o endereo de i
b) *pti igual a 10
c) ao se executar *pti = 20; i passar a ter o valor 20
d) ao se alterar o valor de i, *pti ser modificado
e) pti igual a 10
REFERNCIAS
DROZDEK, A. Estrutura de dados e algoritmos em
C++. So Paulo: Cengage learning, 2009.
MANZANO, J. A; oliveira, J. F. Algoritmos: Lgica para
Desenvolvimento de Programao de Computadores.
So Paulo: rica, 2000.
MORAES, C. R. Estruturas de dados e algoritmos. Uma
abordagem didtica. 2. ed. So Paulo: Futura, 2003.
Preiss, B. R. Estrutura de dados e algoritmos: Padres
de projetos orientado a objetos com Java. Rio de
Janeiro: Elsevier, 2000.
TENENBAUM, A. M; LANGSAM, Y; AUGENSTEIN, A. J.
Estrutura de dados usando C. So Paulo: Makron Books,
1995.
10