Mudanças entre as edições de "SOP-strings"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(New page: = Strings na linguagem C =)
 
Linha 1: Linha 1:
 
= Strings na linguagem C =
 
= Strings na linguagem C =
 +
 +
Uma variável ''string'' representa uma cadeia de caracteres (ou uma sequência de caracteres). A própria palavra ''string'' pode ser traduzida para ''cadeia'', no sentido de um encadeamento de coisas. Como não existe um tipo de dados ''string'' na linguagem C, ''strings'' são representadas por vetores de caracteres.
 +
 +
<syntaxhighlight lang=c>
 +
int main() {
 +
  char palavra[16];
 +
 +
  printf("Digite uma palavra de até 15 letras: ");
 +
  scanf("%s", palavra);
 +
 +
  printf("Você digitou %s\n", palavra);
 +
}
 +
</syntaxhighlight>
 +
 +
No exemplo acima, foi declarada uma variável ''string'' chamada ''palavra'', que pode conter até 15 caracteres. A quantidade de caracteres que cabem numa ''string'' é sempre uma unidade a menos que a capacidade do vetor, porque uma posição do vetor é reservada para assinalar o final da ''string''. Olhando como uma ''string'' é armazenada no vetor ajuda a entender isto, imaginando que foi digitado ''Teste'':
 +
 +
<graphviz>
 +
digraph Frase
 +
{
 +
Frase [shape=Mrecord,label="<0>T|<1>e|<2>s|<3>t|<4>e|<5>\\0|<6> |<7> |<8> |<9> |<10> |<11> |<12> |<13> |<14> |<15> |<16> "]
 +
palavra [shape=record]
 +
palavra -> Frase:0
 +
}
 +
</graphviz>
 +
 +
Note que depois do último ''e'' há um caractere \0. A barra invertida significa que o número ali mostrado corresponde ao [http://pt.wikipedia.org/wiki/ASCII código ASCII] do caractere.

Edição das 10h18min de 4 de dezembro de 2009

Strings na linguagem C

Uma variável string representa uma cadeia de caracteres (ou uma sequência de caracteres). A própria palavra string pode ser traduzida para cadeia, no sentido de um encadeamento de coisas. Como não existe um tipo de dados string na linguagem C, strings são representadas por vetores de caracteres.

int main() {
  char palavra[16];

  printf("Digite uma palavra de até 15 letras: ");
  scanf("%s", palavra);

  printf("Você digitou %s\n", palavra);
}

No exemplo acima, foi declarada uma variável string chamada palavra, que pode conter até 15 caracteres. A quantidade de caracteres que cabem numa string é sempre uma unidade a menos que a capacidade do vetor, porque uma posição do vetor é reservada para assinalar o final da string. Olhando como uma string é armazenada no vetor ajuda a entender isto, imaginando que foi digitado Teste:

<graphviz> digraph Frase { Frase [shape=Mrecord,label="<0>T|<1>e|<2>s|<3>t|<4>e|<5>\\0|<6> |<7> |<8> |<9> |<10> |<11> |<12> |<13> |<14> |<15> |<16> "] palavra [shape=record] palavra -> Frase:0 } </graphviz>

Note que depois do último e há um caractere \0. A barra invertida significa que o número ali mostrado corresponde ao código ASCII do caractere.