10 de nov. de 2009

Aula 09: Continuação - Strings

Neste ponto nós já estudamos e entendemos os vetores. A próximo etapa é entender as strings.

Conjunto ou cadeia de caracteres são chamados de strings em C. Não existe um tipo de dado string em C. As strings em C são vetores do tipo char que termina com o caracter '\0'. As strings possuem tamanho determinado e podem armazenar quaisquer caracter.

Diferente de declarar uma variável do tipo char (para apenas um caracter) a string é uma cadeia de caracteres, ou seja, pode guardar quantos caracteres forem determinados.

DECLARAÇÃO

char frase[50];
char nome[20];


Veja a imagem:



O problema das strings é o seu consumo de recursos (memória). Se observarmos a string que acabamos de criar, ela contém 50 posições, mas só podemos digitar até 49 caracteres. Isso porque toda string deve ter um caracter terminal, indicado pelo NULL (nulo) ou '/0'. Esse '/0' indica o final da string. Para literais string, o próprio compilador coloca o terminador '/0'.

LEITURA
Para ler uma string, podemos usar o scanf(), mas usaremos a função gets().

Com scanf():

puts("Digite um nome: ");
scanf("%s", nome);


Com gets():

puts("Digite um nome: ");
gets(nome);




EXIBIÇÃO
Você pode usar o puts(), entretanto ele só serve para a exibição de uma string. Para exibir o conteúdo de uma ou mais string, podemos usar também o printf().

printf("%s\n", nome);


Veja o exemplo:

#include “stdio.h”
#include “stdlib.h”
int main(){
char palavra[50] = "Programa Basico de Strings";
char nome[20];

printf ("%s\n", palavra);
puts("Digite um nome: ");
gets(nome);
printf("Ola %s\n", nome);
system("pause");
return 0;
}


PASSAGEM DE PARÂMETROS
A passagem de parâmetros é como nos vetores, ou seja, por referência, pois strings são vetores de caracteres.
Vejam no exemplo a seguir. Todos os dois protótipos são válidos:

int func(char str[]);
int func(char *str);


A biblioteca string
A biblioteca padrão string da linguagem C contém várias funções de manipulação de strings. Para usar essas funções, inclua a biblioteca string.h:

#include "string.h"



LISTA DE FUNÇÕES



A palavra reservada const impede que a string seja alterada na função. Pois, como você já sabe, toda vez que passamos um vetor ou string para dentro de uma função, a passagem de parâmetros sempre será por referência, ou seja, precisaremos de um ponteiro na função para manipular ou usar o vetor ou string.

Agora faça os exercícios da aula 09 - II.

Ir para a próxima aula.
Retornar ao índice do curso.

Nenhum comentário: