Ponteiro é um recurso da linguagem C que consiste em:

  • Apontar ou acessar endereços de memória.
  • Acessar variáveis que não são acessíveis em uma função.
  • Retornar um ou mais valores em uma função.
  • Entre outros…

Como declarar um ponteiro:

Exemplo:

No exemplo acima um ponteiro ‘p’ e uma variável ‘q’ são declarados, ‘q’ recebe 1 e ‘p’ recebe o endereço de memória da variável ‘q’, vale lembrar que o & (‘e’ comercial) mostra o endereço de memória, como ‘p’ é um ponteiro então ele apontará para o valor que está armazenado naquele endereço de memória. Imagine gavetas enumeradas de um guarda-roupa, podemos imaginar essa numeração como endereços de memória e o que o ponteiro faz é apontar para numeração dessa gaveta, mostrando o seu conteudo:

 Usando ponteiros em funções:

O programa acima terá a seguinte saída:

Valor de X antes da funcao: 1
Ponteiro P: 1
Valor de X depois da funcao: 2

A variável ‘x’ é declarada com o valor igual à 1, o endereço de memória da variável ‘x’ é passado ao ponteiro ‘p’ através dos parâmetros da função ‘func’, então ‘p’ aponta para o endereço de ‘x’ e atribui o valor 2.

Simples programa em C que calcula o fatorial de um número qualquer:

Como funciona?

A variável “n” armazena o número no qual se quer calcular o fatorial, o loop é executado, a variável “n” é multiplicada por “fat”, então temos “fat = n” e a cada iteração 1 unidade é subtraída do número escolhido até que ele seja igual à 1, ou seja, a variável “fat” é multiplicada a cada iteração pelo antecessor do número escolhido.

Todos os Loops tem a mesma função que é repetir uma instrução num número determinado ou indeterminado de vezes.

A estrutura do loop FOR é da seguinte forma:

Por exemplo:

O programa acima exibe na tela os números de 0 a 100. O loop FOR normalmente é usado também para se fazer loop infinito já que seus campos não são obrigatórios, mas isso é apenas um costume, o que não te impossibilita de usar o loop WHILE ao invés do FOR.

Exemplo de loop infinito com o FOR:

Estrutura do loop While:

Exemplo:

O loop WHILE se repete até o valor zero seja inserido pelo usuário.

Estrutura do loop Do-While:

O loop Do-While diferente do FOR e WHILE, testa a condição no final da execução ou seja, os comandos que estão dentro das chaves do ‘Do’:

do{
comando1;
comando2;
}

são executados, em seguida acondição dentro do WHILE é testada, caso seja verdade os comandos dentro das chaves do ‘Do’ são executados novamente, caso seja falso o programa sai do loop.