🟢 O que é um ponteiro?
Sendo bem simplista, ponteiro (ou apontador) é uma variável que armazena endereços de memória.
🟢 Operadores de ponteiros
O operador * retorna o conteúdo do endereço apontado, enquanto que o operador & retorna o endereço.
Um ponteiro, como qualquer outra variável, deve ter um tipo (que é o tipo da variável para a qual ele aponte). Para declarar um ponteiro, especificamos o tipo da variável para a qual ele aponta e seu nome precedido pelo operador *.
int valor; // Declaração de uma variável do tipo inteiro
int *pValor; // Declaração de um ponteiro do tipo inteiro
pValor = &valor; // Atribuição do endereço de valor para pValor
⛔ NOTA: Na hora de declarar um ponteiro, o compilador C aceita quaisquer uma das formas:
int* pValor;
int * pValor;
int *pValor;
✍️ Exemplo: Ponteiro do tipo inteiro.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdio.h> int main(){ int n = 7; int *pInt; // Ponteiro para inteiro pInt = &n; printf("Endereco da variavel n: %p \n", &n); printf("Endereco armazenado em pInt: %p \n", pInt); printf("Valor armazenado em n apontada por pInt: %d \n", *pInt); return 0; } |
Utiliza-se %p para imprimir ponteiros com a função printf.
🟣 Saída:
1 2 3 |
Endereco da variavel n: 0x7ffd0358f0cc Endereco armazenado em pInt: 0x7ffd0358f0cc Valor armazenado na variavel apontada por pInt: 7 |
—
📚 REFERÊNCIAS
- SANTOS, Marcela. Estrutura de Dados.
*Atualizado em 11 de julho de 2023