Aula 18: Ponteiros — endereços, & e *
Toda variável no seu programa mora em um endereço real de memória — igual a um apartamento numa rua. O operador & dá o endereço de x (o mistério do scanf("%d", &x) da aula 3 finalmente se resolve!). Um ponteiro é uma variável que guarda um endereço: int *p = &x;. Com *p você acessa o valor que está
Um ponteiro é um bilhete com o endereço de um apartamento. &x escreve o endereço no bilhete, e *p diz 'vá até o endereço do bilhete e veja (ou mude) o que tem lá dentro'. Mudar através do bilhete muda o apartamento de verdade.
- endereço de memória
- A localização numérica onde uma variável mora na memória. Toda variável recebe um endereço.
- & (operador de endereço)
- &x retorna o endereço de x — não o seu valor.
- ponteiro
- Uma variável que guarda o endereço de outra variável. Declaração: int *p = &x;.
- * (desreferenciação)
- *p acessa o valor que está no endereço guardado por p. Leitura e escrita: *p = 99; muda x.
- NULL
- Um valor especial que significa 'este ponteiro não aponta para nada'. Sempre verifique antes de usar.