Você está aqui: Inicio -> Dicas e Truques -> C++ -> Como usar ponteiros para controlar um laço while
Como usar ponteiros para controlar um laço while
Esta dica foi visualizada 1197 vezes
Não encontrou o que estava procurando? Experimente nossa busca
Termo(s) da busca:

Categoria: Fundamentos da Linguagem
Sub-Categoria: Estruturas de Controle [Veja dicas relacionadas]


Como usar ponteiros para controlar um laço while

É possível usar ponteiros para controlar a execução de um laço while em C++. Comece analisando o seguinte trecho de código:
// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome;

if(*letra)
  cout << "True";
else
  cout << "False";
Aqui o valor "True" será exibido, visto que o ponteiro *letra está apontando para um local da matriz de caracteres nome[] que é diferente de NULL. Veja agora:
// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome; // posição 0

// vamos atingir o final da matriz
// de caracteres
letra++; // posição 1
letra++; // posição 2
letra++; // posição 3
letra++; // posição 4
letra++; // posição 5
letra++; // posição 6
letra++; // NULL

if(*letra)
  cout << "True";
else
  cout << "False";
Como sabemos que a matriz de caracteres nome[] contém sete caracteres (de 0 a 6), incrementamos o ponteiro *letra até que este aponte para o caractere que marca o fim da matriz. Assim, o valor "False" é exibido.

Veja agora um laço while que tira proveito do que vimos aqui para exibir as letras da palavra "Arquivo" separadamente usando um ponteiro:
#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // uma matriz de caracteres
  char nome[] = "Arquivo";

  // aponta para a primeira letra
  char *letra = nome;

  // vamos usar o laço while para
  // imprimir as letras separadamente
  while(*letra){
    cout << *letra << " ";
    letra++;
  }

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}
 
Veja mais Dicas & Truques na sub-categoria: Estruturas de Controle
Veja mais Dicas & Truques de C++
Veja mais Dicas & Truques de outras linguagens
ActionScript - Usando o laço for..in
 
 
Visão Tributária - Curso de Nota Fiscal Eletrônica em Goiânia - GO
Referências
Tipos de dados da linguagem Java
Palavras-chave e palavras reservadas da linguagem Java
Tipos de dados da linguagem PHP
 
Dicas e truques de Java
Dicas e truques de C++
Dicas e truques de Delphi
http://www.arquivodecodigos.net
2000 - 2010 - Todos os direitos reservados a Osmar J. Silva
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734
E-Mail: suporte@recomende.com
MSN: osmar@recomende.com (só para negócios, por favor)

Desenvolvedor Responsável: Osmar J. Silva