quinta-feira, 28 de outubro de 2010

Cadeia de Caracteres

Até agora em C a gente só aprendeu como armazenar um caracter, usando uma variável do tipo char.

E se precisarmos armazenar uma palavra?
Para armazenar palavras, frases, textos ou cadeias de caracteres em geral usaremos um vetor de caracteres, ou seja, um vetor de char.

A idéia é muito simples.
Se precisarmos armazenar o nome "Ruan". Apenas um nome aleatório que me veio à cabeça :)
Precisaríamos, primeiramente, declarar uma variável vetor de char com 5 posições, uma a mais do que a palavra a ser armazenada. (explicarei o por quê depois).

char nome[5];

Depois faria o seguinte:

nome[0] = 'R';
nome[1] = 'u';
nome[2] = 'a';
nome[3] = 'n';
nome[4] = '\0';

O '\0' é usado para definir o final da palavra, por isso precisamos sempre definir a palavra com um espaço a mais.

Agora você me fala: "Isso não foi nada simples! E se eu precisasse guardar a palavra pneumoultramicroscopicossilicovulcanoco?"
Não seria nada agradável, é verdade.

Temos um outro problema! Como faríamos para ler uma palavra que o usuário digitou do teclado? E imagine como seria um saco imprimir isso!

Por sorte, em C existe um tipo chamado string. As strings não são tipos de variáveis, mas existe o %s no scanf e no printf, que serve para ler e escrever strings.

Note que o método usado acima, apesar de nada bom, é funcional, visto que na verdade as strings de C são vetores de caracteres.

O %s é uma maravilha do C que evita você ter que se incomodar com isso para fazer as operações de scanf e printf, portanto, sejam felizes com ela!

Até a próxima pessoal!

Nenhum comentário:

Postar um comentário