Programacao em C
Profa. Gisele Busichia Baioco gisele@ft.unicamp.br Algoritmos Estruturados e
Linguagem de Programação Estruturada
Cadeias de Caracteres – Strings – em C
1 Declaração e Armazenamento
Uma cadeia de caracteres ou string consiste de uma seqüência de caracteres imprimíveis (letras, dígitos, brancos, símbolos de pontuação, etc).
Em C, uma string é definida como um vetor unidimensional de caracteres que tem como último caractere um ‘\0’ (indica o final da string). Por essa razão, deve-se declarar os vetores de caracteres um caractere maior que a maior string que irão armazenar. Exemplo: para se armazenar uma string de 10 caracteres em um vetor str, deve-se declara-lo da seguinte maneira: char str[11];
Caso str armazene a palavra ESTUDANTES, esquematicamente, o armazenamento no vetor fica: str E
0
S
1
T
2
U
3
D
4
A
5
N
6
T
7
E
8
S
9
\0
10
A sintaxe geral de declaração de uma string em C é a seguinte: char str[tamanho+1];
onde: str: é o nome (identificador) da string; tamanho + 1: é o tamanho máximo da string já considerando uma posição a mais para armazenar o ‘\0’. É válido armazenar strings menores ou iguais a tamanho.
Uma constante string em C deve vir entre aspas. Exemplos: “bom dia”, “teste”.
2 Lendo uma String
Para ler uma string do teclado pode-se utilizar as seguintes funções: gets() Sintaxe: gets(str); onde: str: é o nome da string especificado na declaração.
1
Exemplo:
#include
main()
{
char nome[31]; gets(nome); }
/* lê uma string do teclado */
scanf()
Sintaxe:
scanf(“%s”, str);
onde: str: é o nome da string especificado na declaração.
Deve-se observar que não há necessidade de preceder o nome da string com o operador &, pois o próprio identificador da string (sem índice) já é o endereço da string.
Exemplo:
#include main() { char nome[41]; scanf(“%s”, nome);
}
/* lê uma string do teclado */
3