Cada
vez
estou
com
mais
preguiça
desse
resumo.
Maaaaas
vamos
lá.
Ponteiros
são
variáveis
que
guardam
o
endereço
de
outras
variáveis.
TODA
STRING,
VETOR,
MATRIZ
É
UM
PONTEIRO,
por
isso
não
precisa
do
&
(que
indica
endereço)
antes
do
nome
no
scanf,
por
exemplo.
Declaração:
int
i
=
3,
*ponteiro;
ponteiro
=
&i;
Pronto,
meu
ponteiro
aponta
pra
variável
i,
ou
seja,
tem
como
conteúdo
o
endereço
de
i.
Então
eu
posso
acessar
o
conteúdo
de
i
através
do
meu
ponteiro:
printf
("%d", i)
e
printf
("%d", *ponteiro)
nos
dão
o
mesmo
resultado:
3
na
tela
Lembrando
que
se
eu
colocar
printf
(ponteiro) ele
vai
imprimir
O
ENDEREÇO,
e
não
o
conteúdo
de
i.
OBSERVAÇÃO
IMPORTANTE:
como um vetor é um ponteiro, se você colocar ptr = vetor (sem *
mesmo, já que são variáveis de mesma natureza), o ptr vai apontar
pro início do vetor, ou seja, para a posição 0.
Voltando.
Coisa
esquisita
sobre
ponteiros:
você
pode
colocar
um
+
1
ou
+
alguma
coisa
nele.
Ele
vai
pular
o
número
de
casinhas
(que
corresponderiam
a
variáveis)
do
tipo
dele.
Por
exemplo,
se
eu
tenho
um
ponteiro
de
int,
se
eu
colocar
ptr
+
2
ele
vai
pular
2
ints
a
partir
do
que
estava
e
apontar.
Ele escolhe pra onde apontar
colocando & antes da variável que será apontada e pra pegar o
valor dessa variável (depois de apontar, claro) a gente usa o *.
"Como
eu
estou
com
preguiça,
aconselho
ler
o
resumo
do
capítulo
de
ponteiros
(página
199
– operações
-,
página
205
– ponteiros
de
ponteiros
– e
206
-
resumo
geral
-
do
PDF)." <- esse pedaço é antigo, vou achar o tal pdf e atualizar aqui.
Nenhum comentário:
Postar um comentário