Ponteiros


Variáveis do tipo ponteiro, são aquelas que armazenam endereços de memória de outras variáveis (apontam para outras variáveis).

Declaração:

< tipo > * < nome_ponteiro >

p é uma variável do tipo ponteiro para inteiro, ou seja, p vai armazenar o endereço (apontar) de uma variável do tipo inteiro.

Através de p, também podemos acessar o conteúdo da variável inteira apontada por ele. Isso é feito através da operação de indireção, que também é indicada por *.

* p -> conteúdo da variável para a qual p aponta.


Ex:
int x=10; -> declaração de uma variável inteira e sua inicialização com o valor 10
int * p; -> declaração de uma variável do tipo ponteiro para inteiro

p=&x; -> inicialização da variável ponteiro, com o endereço da variável inteira.

Em C, "ponteiros e inteiros não são intercambiáveis", ou seja, o valor inteiro 10 não pode ser atribuído a uma variável ponteiro para ser considerado como o endereço de memória 10.

Principais utilidades dos ponteiros

  • Criação e manipulação de variáveis dinâmicas.
  • Passagem de parâmetros por referência.
  • Passagem de agregados homogêneos como parâmetros.