Programacao
Trabalho Escolar: Programacao. Pesquise 862.000+ trabalhos acadêmicosPor: ricardosalvino • 1/3/2015 • 365 Palavras (2 Páginas) • 225 Visualizações
O ponteiro deve ser inicializado (apontado para algum lugar conhecido) antes de
ser usado! Isto é de suma importância!
Para atribuir um valor a um ponteiro recém-criado poderíamos igualá-lo a
um valor de memória. Mas, como saber a posição na memória de uma variável do
nosso programa? Seria muito difícil saber o endereço de cada variável que
usamos, mesmo porque estes endereços são determinados pelo compilador na
hora da compilação e realocados na execução. Podemos então deixar que o
compilador faça este trabalho por nós. Para saber o endereço de uma variável
basta usar o operador &. Veja o exemplo:
int count=10;
int *pt;
pt=&count;
Criamos um inteiro count com o valor 10 e um apontador para um inteiro
pt. A expressão &count nos dá o endereço de count, o qual armazenamos em pt.
Simples, não é? Repare que não alteramos o valor de count, que continua
valendo 10.
Como nós colocamos um endereço em pt, ele está agora "liberado" para
ser usado. Podemos, por exemplo, alterar o valor de count usando pt. Para tanto
vamos usar o operador "inverso" do operador &. É o operador *. No exemplo
acima, uma vez que fizemos pt=&count a expressão *pt é equivalente ao próprio
count. Isto significa que, se quisermos mudar o valor de count para 12, basta
fazer *pt=12.
Vamos fazer uma pausa e voltar à nossa analogia para ver o que está
acontecendo.
Digamos que exista uma firma. Ela é como uma variável que já foi
declarada. Você tem um papel em branco onde vai anotar o endereço da firma. O
papel é um ponteiro do tipo firma. Você então liga para a firma e pede o seu
endereço, o qual você vai anotar no papel. Isto é equivalente, no C, a associar o
papel à firma com o operador &. Ou seja, o operador & aplicado à firma é
equivalente a você ligar para a mesma e pedir o endereço. Uma vez de posse do
endereço no papel você poderia, por exemplo, fazer uma visita à firma. No C você
faz uma visita à firma aplicando o operador * ao papel. Uma vez dentro da firma
você pode copiar seu conteúdo ou modificá-lo.
Uma observação importante: apesar do símbolo ser o mesmo, o operador *
(multiplicação) não
...