Você está na página 1de 20

Estrutura de Dados

Curso: Informática
Profa. Evaldinolia Gilbertoni Moreira
Email: evaldinolia@acad.ifma.edu.br
Roteiro 1.
Ponteiros
Ponteiro
Um ponteiro é uma referência sobre um objeto na memória (é um
endereço). Exemplo de Declaração de Ponteiros:

float * pf
/* declara que pf é um ponteiro sobre um real */

pf

4.6

Os Operadores & e

*
✓ operador de endereçamento &
quando aplicado sobre uma variável e permite retornar
seu endereço memória

✓ operador de indireção *
quando aplicado sobre um ponteiro, permite
retornar (manipular) o objeto apontado.

Os
Operadores &

e* *P

P
V
(Ponteiro) (Variável)

&v
inteiro */

v = 15;
Os p = &v;

*p = 100;

Operadores &

e*
int v;
v
(Variável) &100
int *p; /* p é um ponteiro sobre um
&100 &200
v = 15;
p = &v;

Os Operadores *p = 25;
Os Operadores
&
&
e*
int v;
p e*
(Ponteiro)
int *p; /* p é um ponteiro
v int v;
sobre um inteiro */ int *p; /* p é um ponteiro
(Variável)
sobre um inteiro */
v
(Variável)
v = 15; &100 &20015
p = &v;

*p = 25;

p
(Ponteiro)

Os Operadores &
e*
int v;
int *p; /* p é um ponteiro sobre um
inteiro */

v = 15; p
v
(Variável)
&200 100
&100 15

p = &v; *p = 25;
&v
(Ponteiro)
int v;
int *p; /* p é um ponteiro sobre um
Os inteiro */

Operadores &
*p
v
e*
(Variável)

&200 100
v = 15; &100 15
p
p = &v; desenho
(Ponteiro)
*p = 25;// acrescentar no
&v
int v;
int *p; /* p é um ponteiro sobre um
Os inteiro */

Operadores &
*p
v
e*
(Variável)

&200 100
v = 15; &100 25
p
p = &v;
*p = 25;// acrescentar no &v
desenho
(Ponteiro)

Exemplo 2
int i,j;
int *pi; /* pi é um ponteiro sobre um inteiro */

pi
&i

i
j

Exemplo 2
int i,j;
int *pi; /* pi é um ponteiro sobre um inteiro */
pi
i=5;
5
i

Exemplo 2
int i,j;
int *pi; /* pi é um ponteiro sobre um inteiro */
pi=&i;
i=5; pi
&i&

5
j i

Exemplo 2
int i,j;
int *pi; /* pi é um ponteiro sobre um inteiro */
pi=&i; *pi=6;
i=5; pi
&i&
6 i

5
j

Exemplo 2
int i,j;
int *pi; /* pi é um ponteiro sobre um inteiro */
pi=&i; *pi=6; ;
i=5; j=*pi-2 pi
&i
&i 4

6 i

j 5

Exemplo 2
int i,j;
int *pi; /* pi é um ponteiro sobre um inteiro */
pi=&i; *pi=6; j=*pi-2
i=5;
; &j
6 i
pi=&j;
pi 5
j
&i 4

Exercício
1. Declare um inteiro i e um ponteiro p
sobre um inteiro 2. Inicialize a variável i com um valor
inteiro qualquer 3. Aponte o ponteiro sobre a variável i
4. Imprima o valor de i
5. Modifique o valor de i usando o ponteiro p
6. Imprima o novo valor de i
7. Imprima o endereço de i, utilizando a variável i
8. Imprima o endereço de i, utilizando a variável p
9. Imprima o endereço de p
10. Imprima o valor da variável p
11. Imprima o valor de i, utilizando a variável p

Resolução
int i; /* 1 */ int * p; /* 1 */
i=8; /* 2 */ p=&i; /* 3 */
printf("i= %d\n",i); /* 4 */
*p=5; /* 5 */ printf("novo i=
%d\n",i); /* 6 */

Você também pode gostar