Ponteiros são variáveis que armazenam endereços de memória em vez de valores diretos. Com eles, podemos acessar e manipular dados indiretamente, trabalhando com o local onde uma variável está armazenada. São muito usados em funções, arrays, structs e alocação dinâmica de memória.
Sintaxe:
tipo *nome_do_ponteiro;
Exemplos:
int *ptr;
Como funciona:
tipo * → indica um ponteiro para o tipo especificado.nome_do_ponteiro → identificador do ponteiro.& (e comercial) → fornece o endereço de uma variável.📌 Exemplo Prático: Ponteiro para Inteiro
#include <stdio.h>
int main() {
int numero = 42;
int *ptr; // declaração de um ponteiro para int
ptr = № // ptr recebe o endereço de numero, perceba que é o ENDEREÇO utilizando & e não a variável
printf("Valor de numero: %d\n", numero);
printf("Endereco de numero: %p\n", &numero);
printf("Valor armazenado em ptr (endereco): %p\n", ptr);
printf("Valor apontado por ptr: %d\n", *ptr);
return 0;
}
ptr guarda o endereço de numero.*ptr acessa o valor guardado nesse endereço.&numero fornece o endereço da variável.Ponteiros permitem que funções modifiquem variáveis externas, já que podem acessar o endereço original.