Aula 2.14: Strings em C #LTCode

COMPARTILHAR:

Aula 2.14 - Strings em C

Este artigo faz parte do projeto #LTCode.

Hoje aprenderemos sobre strings que são basicamente um conjunto de caracteres armazenados em um vetor. Portanto é recomendado que tenha lido a aula 2.10 para que compreenda bem a aula de hoje.

A declaração segue o mesmo padrão de um vetor de caracteres: char nome[tamanho];

Portanto se queremos armazenar a palavra "Limon" dentro da string "nome", podemos fazer das seguintes formas a declaração:

char nome[] = "Limon Tec";

char nome[] = {'L','i','m','o','n',' ','T','e','c','\0'};

char nome[9];
nome[0]='L';
nome[1]='i';
nome[2]='m';
nome[3]='o';
nome[4]='n';
nome[5]=' ';
nome[6]='T';
nome[7]='e';
nome[8]='c';
nome[9]='\0';

Note que a ultima posição de um vetor de caracteres vai sempre receber o caracter '\0' que significa que ali acaba a string, no primeiro exemplo não é necessário colocar '\0' pois ele é inserido automaticamente pelo compilador já que está usando aspas duplas, portanto ao declarar o tamanho de uma string deve informar o tamanho de caracteres que você precisa mais um para o caractere \0.

Vale notar que 'A' é diferente de "A", o caractere declarado com aspas simples é UM caractere (ocupa 1 byte) e o com aspas duplas é uma STRING (no caso ocupa 2 bytes, já que inclui o caractere '\0' depois do 'A') - por isso uma string é também conhecida como vetor de caractere já que juntando estes caracteres do vetor pode-se formar uma string)

Suponha que você deseja imprimir a string nome que fizemos acima, é muito simples fazer isso utilizando a função printf. Exemplo: printf("%s",nome);

Mas como ler uma string, ou seja, pedir para o usuário digite uma string. Bom, você pode usar o scanf para a leitura de string, mas note que a variável que recebe a string não é precedida pelo &.

Forma certa: scanf("%s",nome);
Forma errada: scanf("%s",&nome);

Infelizmente temos um problema com o scanf pois ele vai ler somente uma palavra, ou seja, vai ler todos caracteres até encontrar um espaço, tab ou enter e inserir o caractere delimitador '\0'.

Portanto, caso deseja ler uma frase... melhor recorrer a outras funções, você pode usar a função gets ou fgets por exemplo.

Exemplos:
gets(nome);
fgets(nome,9,stdin); //(string,tamanho da string,stdin)

Importante ressaltar que a função fgets lê até encontrar um enter, e ele é inserido na string, no caso a string recebeu os caracteres: Limon Tec\n\0

A passagem de string para funções é exatamente igual a passagem de vetores para funções, releia a aula 2.8 caso necessite. 

Confira abaixo um exemplo de leitura e escrita de string e sua utilização em funções:


Bom, por hoje é isto. Na próxima aula apresentaremos as principais funções, já prontas para uso, com strings, elas nos ajuda a poupar tempo.

>> Próxima aula, clique aqui. 

COMENTÁRIOS

Nome

#ann,24,#HK,20,#LTCode,70,Artigo - Diversos,159,Artigo - Games,196,Artigo - Tecnologia,530,autor-thomaz,7,Coluna - Alternative World,24,Coluna - Fail,12,Coluna - Tec Line,14,Criptomoeda,58,Curiosidades - Diversos,49,Curiosidades - Tecnologia,50,en,2,HN,12,Raspberry Pi,9,root,70,Shorty Awards,1,Smartphones - Reviews,33,Top Nostalgia,2,VPN,17,WhatsApp,44,
ltr
item
Limon Tec: Aula 2.14: Strings em C #LTCode
Aula 2.14: Strings em C #LTCode
Aula 2.14 - Strings em C
https://1.bp.blogspot.com/-Vv6C0DkQgY0/WG_EGTY1EhI/AAAAAAAAFcs/qphwk8Z4UdkFSQu0zbS5xoZ_9_KovVlJACLcB/s640/ltcode.jpg
https://1.bp.blogspot.com/-Vv6C0DkQgY0/WG_EGTY1EhI/AAAAAAAAFcs/qphwk8Z4UdkFSQu0zbS5xoZ_9_KovVlJACLcB/s72-c/ltcode.jpg
Limon Tec
https://www.limontec.com/2018/05/aula-2-14-linguagem-c-ltcode.html
https://www.limontec.com/
https://www.limontec.com/
https://www.limontec.com/2018/05/aula-2-14-linguagem-c-ltcode.html
false
2157924926610706248
UTF-8
Carregar todos posts Não encontramos nenhum post VER TUDO Ler mais Responder Cancelar resposta Deletar Por Home PÁGINAS POSTS Ver tudo RECOMENDADO PARA VOCÊ LABEL ARQUIVO SEARCH TODOS POSTS Não encontramos nenhum post relacionado a sua requisição VOLTAR PÁGINA INICIAL Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sab Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez apenas agora 1 minuto atrás $$1$$ minutes ago 1 hora atrás $$1$$ hours ago Ontem $$1$$ days ago $$1$$ weeks ago mais de 5 semanas atrás Seguidores Seguir ESTE CONTEÚDO ESTÁ BLOQUEADO PASSO 1: Compartilhe com seus amigos PASSO 2: Clique no link compartilhado Copiar Todo Código Selecionar Todo Código Todos códigos foram copiados para seu clipboard Não é possível copiar códigos / textos, por favor aperte [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de conteúdo