Académique Documents
Professionnel Documents
Culture Documents
Relacao
Indexadas
Exerccios
Linguagem C: Variaveis
do Tipo Ponteiro
Prof. Paulo R. S. L. Coelho
paulo@facom.ufu.br
Faculdade de Computacao
GEQ007
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Organizacao
Ponteiros
Introducao
Exemplos
Relacao
Indexadas
Introducao
Exemplo
Exerccios
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplos
Organizacao
Ponteiros
Introducao
Exemplos
Relacao
Indexadas
Introducao
Exemplo
Exerccios
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplos
e Atribuicao
Declaracao
destinadas a guardar
Variaveis
do tipo ponteiro sao
enderecos de memoria.
Por exemplo:
float a = 13.5, *p;
int b = 15, *q;
p = &a; q = &b;
printf("a=%g; b=%d;\n", a, b);
printf("p=&a=%ld; q=&b=%ld;", p, q);
604972062
604972066
604972066
604972068
15
604972072
variaveis
a e b sao
do tipo float e
ponteiros
int, enquanto p e q sao
para o tipo float e int, ou seja,
604972072
13.5
Mapa de memoria
do codigo
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplos
e Atribuicao
Declaracao
anteriores:
Considerando as declaracoes
e permitido, mas
p = 1234; nao
p = (float *) 1234; e permitido
O fator (float *) converte o inteiro 1234 para um valor
um endereco
do tipo ponteiro para float, isto e,
destinado a guardar valores do tipo float.
O endereco 0 (zero) e considerado de forma especial em
C, de tal forma que existe uma constante especial para
ele, a palavra NULL.
sao
equivalentes:
Assim, as seguintes atribuicoes
p = 0; e p = NULL; e indicam que p aponta para lugar
nenhum.
Prof. Paulo Coelho
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplos
Acesso ao Ponteiro
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplos
Exemplo 1
Com p = &a;
equivale a a = 1;
Com b = *p;
equivale a b = a;
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplos
Exemplo 2
e considerando as duas
Seja a seguinte declaracao
separadamente:
atribuicoes
int a = 2, b = 5, *p = &a, *q = &b;
p = q;
// atribuicao 1 ou
*p = * q; // atribuicao 2
a
p
2
Inicialmente
q
5
p
2
Com p = q
q
5
p
5
Com *p = *q
b
q
5
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplo
Organizacao
Ponteiros
Introducao
Exemplos
Relacao
Indexadas
Introducao
Exemplo
Exerccios
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Introducao
Exemplo
Relacao
Indexadas
entre variaveis
A variavel
A pode ser interpretada graficamente como:
A
A[0]
A[1] A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
Linguagem C: Variaveis
do Tipo Ponteiro
Exemplo
P
?
A[3]
A[4]
B[3]
B[4]
A[5]
A[6]
A[7]
B
B[0]
B[1]
B[2]
B
B[0]
B[1]
B[2]
B[3]
B[4]
B
B[0]
B[1]
B[2]
B[3]
B[4]
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Organizacao
Ponteiros
Introducao
Exemplos
Relacao
Indexadas
Introducao
Exemplo
Exerccios
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Exerccios I
1
Linguagem C: Variaveis
do Tipo Ponteiro
Ponteiros
entre Ponteiros e Variaveis
Relacao
Indexadas
Exerccios
Exerccios II
2
Linguagem C: Variaveis
do Tipo Ponteiro