Ponteiro

1007 palavras 5 páginas
Universidade de Brasília
Departamento de Ciência da Computação

Curso C: Ponteiros e Arrays
Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ricardo Jacobi

Linguagem C

Ponteiros
¥ um ponteiro Ž uma vari‡vel que contŽm o endere•o um dado
¥ declara•‹o: Ò*Ó indica que a vari‡vel Ž um ponteiro tipo_dado *nome_ponteiro;

¥ Ex: int x; int *pi;

Linguagem C

/* compilador sabe que pi Ž ponteiro */
/* pi Ž um ponteiro para inteiro */
Ricardo Jacobi

1

Ponteiros
¥ o operador Ò&Ó quando aplicado sobre uma vari‡vel retorna o seu endere•o
¥ Ex: int x = 10, *pi; pi = &x; printf(“&x: %p pi: %p”, &x, pi);
=> &x: 0x03062fd8 pi: 0x03062fd8

Ricardo Jacobi

Linguagem C

Ponteiros
¥ o operador Ò*Ó quando aplicado sobre um ponteiro retorna o dado apontado
¥ Ex: void main () { int *tmp_ptr;
0xABA0
int x, y; x = 10;
0xABA2
tmp_ptr = &x; y = *tmp_ptr; /* (*tmp_ptr) = 10 */
}
Linguagem C

0xABA0

tmp_ptr

10

x

10

y

Ricardo Jacobi

2

Ponteiros
¥ ponteiros s‹o vari‡veis tipadas:
(int *) - (float *) - (char *)

¥ Ex: main() { int *ip, x; float *fp, z; ip = &x; /* fp = &z; /* ip = &z; /* fp = &x; /*
}

OK */
OK */ erro */ erro */

Ricardo Jacobi

Linguagem C

Ponteiros
¥ espa•o ocupado pelas vari‡veis
1 byte
(int *)

1 byte
(float *)

(char *)

Linguagem C

Ricardo Jacobi

3

Utilizando Ponteiros void main() { int x = 10; int *pi; pi = &x; /* *pi == 10 */
(*pi)++; /* *pi == 11 */ printf(“%d”, x);
}
==> 11 ao alterar *pi estamos alterando o conteúdo de x
Ricardo Jacobi

Linguagem C

Utilizando Ponteiros void main() { int x = 10; int *pi, *pj; pi = &x; /* *pi == 10 */ pj = pi; /* *pj == 10 */
(*pi)++; /* (*pi, *pj, x) == 11 */
(*pj)++;
/* (*pi, *pj, x) == 12 */ printf(“%d”, x); /* ==> 12 */
}

Linguagem C

Ricardo Jacobi

4

Prática 1
¥ Pratique a declara•‹o e utiliza•‹o de ponteiros. Ð
Ð
Ð
Ð

defina e inicialize uma vari‡vel

Relacionados

  • Ponteiros
    893 palavras | 4 páginas
  • Ponteiros
    2031 palavras | 9 páginas
  • ponteiros
    1478 palavras | 6 páginas
  • Ponteiros
    545 palavras | 3 páginas
  • Ponteiros
    1045 palavras | 5 páginas
  • Ponteiros
    957 palavras | 4 páginas
  • Ponteiros
    4985 palavras | 20 páginas
  • Ponteiros
    537 palavras | 3 páginas
  • Ponteiros
    1246 palavras | 5 páginas
  • Ponteiros
    475 palavras | 2 páginas