2. Instituto de Computação – UFAL
Arrays de caracteres
char c[10]
c[9] = „a‟;
Um array cujo elementos são do tipo char são
chamados de
Cadeia de Caracteres ou String
Rodrigo Paes – r0drigopaes@yahoo.com.br
A B A C A T E I R O
A B A C A T E I R a
3. Instituto de Computação – UFAL
Strings
C trata as strings de forma diferente
char palavra[11];
No scanf
scanf(“%s”, palavra );
No printf
printf(“%s”, palavra );
Na inicialização
char palavra[11] = "abacateiro";
Rodrigo Paes – r0drigopaes@yahoo.com.br
4. Instituto de Computação – UFAL
0
Mas se fizermos:
char palavra[255] = “programar é massa!”;
printf(“%sn”, palavra);
Só inicializamos 18 caracteres da string, e os outros
237 caracteres? Estão com lixo?
Mas se eles estão com lixo, porque o printf não
imprime o lixo?
Rodrigo Paes – r0drigopaes@yahoo.com.br
5. Instituto de Computação – UFAL
0
Em C, existe um caracter que delimita o final da String
„0‟
Esse caracter é automaticamente inserido ao final da
string na
Inicialização
scanf
O printf(“%s”,…) imprime todos os caracteres até
encontrar o 0
Por isso o lixo é ignorado!
Portanto, devemos sempre deixar um espaço extra para
acomodar o caracter 0
Rodrigo Paes – r0drigopaes@yahoo.com.br
6. Instituto de Computação – UFAL
Exercícios
Tamanho de uma frase
Lista de exercícios:
http://goo.gl/aRXwv
Instruções
O nome de cada arquivo deve ser o número da questão.
Exemplo: 1.c, 2.c, 3.c ...
Compacte todos os arquivos com o seu nome e envie para
monitoria-p1@googlegroups.com
Rodrigo Paes – r0drigopaes@yahoo.com.br
7. Instituto de Computação – UFAL
Funções de strings
Existem várias funções para manipular strings
string.h
Exemplos
strcpy
strcmp
strlen
strupr
strlwr
strstr
…
Muitas outras, olhem a documentação de string.h
Rodrigo Paes – r0drigopaes@yahoo.com.br
8. Instituto de Computação – UFAL
Exercícios (desafios)
Tradução
TeX
Permutação comum
Palíndromo
Buracos no texto
Rodrigo Paes – r0drigopaes@yahoo.com.br