Como o tipo ponteiro armazena um endereço de memória, podemos realizar operações 
                aritméticas de incremento e decremento utilizando os operadores (+), (-), (++) e (--). 
            
            
                Internamente, os cálculos aritméticos de endereços de memória são baseados no tamanho 
                em que cada tipo de dado armazena. Os tipos de dados e seus tamanho foram estudado em 
                C: Tipos de Dados.
            
            
                Abaixo, as sintaxes mostram a forma básica de aplicação de operadores aritméticos 
                para incremento e decremento.
            
            Sintaxe
            nome_ponteiro--;
nome_ponteiro++;
*(nome_ponteiro + N)
*(nome_ponteiro - N)
            Onde
            N: quantidade de posições para avançar
            Exemplo 1
            
#include <stdio.h>
int main ()
{
    int vetor[3] = {1,2,3};
    int *pnt = &vetor[0];
    
    printf("%d \n",*pnt++);
    printf("%d \n",*pnt++);
    printf("%d \n\n",*pnt++);
    
    pnt = &vetor[0];
    
    printf("%d \n",*(pnt+0));
    printf("%d \n",*(pnt+1));
    printf("%d \n",*(pnt+2));
}
            Saída
            
1
2
3
1
2
3
            
                O tipo de dado vetor é um tipo referenciado também, sendo assim, vetor[0] significa 
                o ponteiro para seu primeiro elemento. No exemplo 2 abaixo, mostra o exemplo 1 
                a aritmética de ponteiros:
            
            Exemplo 2
            
#include <stdio.h>
int main ()
{
    //              0  1  2
    int vetor[3] = {1, 2, 3};
     
    printf("%d\n", vetor[0] + 0);
    printf("%d\n", vetor[0] + 1);
    printf("%d\n", vetor[0] + 2);
}
            Saída
            
1
2
3
            
                É importante observar que como estamos trabalhando em baixo nível, incrementando ou 
                decrementando ponteiro há risco de invasão de memória, o que pode gerar erros. Assim,
                a manipulação utilizando aritmética de ponteiros devem ser feito com muito cuidado.