Linguagem c
Definição de string
◦ Strings são seqüências de caracteres diversos. São conhecidos por “literais” na teoria de algoritmos estruturados, sendo representados entre aspas. Alguns exemplos de strings:
◦ ◦ ◦ ◦ “Fulano da Silva”, “? Interrogação? “, “1,234”, “0”.
◦ Em C, strings são representadas através de vetores de caracteres, terminados com o caractere de fim de string cujo valor na tabela ASCII é zero (0 ou \0).
Declaração de string
Um vetor em C que pretenda armazenar uma string n caracteres deve ser alocado com n+1 posições do tipo char para conter o terminador de string. A inicialização de uma string pode ser efetuada com o uso de uma seqüência de caracteres entre aspas. Exemplos de declarações de string: char frase[] = “Primeira frase”; /*Inicialização sem a dimensão */ char frase[15] = “Primeira frase”; char frase[6] = {„T‟, „e‟, „s‟, „t‟, „e‟, /0); /* inicializado como
No caso do primeiro e do segundo exemplo, a representação do vetor da string frase é: „P‟ „r‟ „i‟ „m‟ „e‟ „i‟ „r‟ „a‟ „ ‟ „f„ „r‟ „a‟ „s‟ „e‟ „\0‟ Onde cada quadrado representa um byte de memória (tamanho de um char).
Operações sobre string String não é um tipo primitivo da linguagem C, por isso as seguintes operações NÃO são válidas: char str1[10]; char str2[] = “Palavra 2”; str1 = str2 /* ERRO! Não copia str2 em str1 */ if (str1 == str2) /* ERRO! Não compara str1 com str2 */ { …. }
Para operar sobre strings são utilizadas funções da biblioteca string.h. Dezenas de funções com diversas variações.....
strlen Protótipo: int strlen (char *string) Descrição: Retorna o número de caracteres de uma string (exceto o caractere de fim de string). Exemplo: char nome[] = “Fulano”; printf (“O nome possui %d letras”, strlen (nome));
strcpy Protótipo: char *strcpy (char *string1, char *string2)
Descrição: Copia o conteúdo de string2 em string1 e retorna o endereço de string. Exemplo:
char