Ponteiros avançados

Em geral, você usará os ponteiros de formas mais complexas do que aquelas mostradas em alguns dos exemplos anteriores. Por exemplo, é muito mais fácil criar um inteiro normal e trabalhar com ele do que criar e usar um ponteiro para um inteiro. Nesta seção serão explorados alguns dos modos mais comuns e avançados de trabalhar com ponteiros.

Tipos de ponteiros
É possível, aceitável e benéfico criar tipos de ponteiros em C, como mostrado abaixo:

  typedef int *IntPointer;
  ...
  IntPointer p;  

Isso é o mesmo que dizer:

  int *p;  

Esta técnica será usada em muitos exemplos nas páginas a seguir. A técnica freqüentemente torna uma declaração de dados mais fácil de ler e compreender, facilitando também a inclusão de ponteiros em estruturas ou a passagem de parâmetros de ponteiros em funções.