Linguagem C - Cadeia de caracteres (string)

Uma cadeia de caracteres (string em inglês) é uma sequência de caracteres, ou seja, um conjunto de símbolos, que fazem parte do conjunto de caracteres, definido pelo código ASCII.

Em linguagem C, uma cadeia de caracteres é uma tabela, com vários dados do tipo char, cujo último elemento é o caractere nulo '\0', ou seja, o primeiro caractere do código ASCII (cujo valor é 0).

Este caractere é um caractere de controle (ou seja, não exibível) que indica o fim de uma cadeia de caracteres. Assim, uma cadeia composta de n elementos será, na realidade, uma tabela de n +1 elementos do tipo char.

Podemos, por exemplo, representar a string "Bom dia" da seguinte maneira:

B o m d i a \0

Criar uma cadeia de caracteres

Para definir uma string em C, basta definir uma tabela de caracteres. O número máximo de caracteres que comportará a cadeia será igual ao número de elementos da tabela, menos um (reservado para o caractere do final da cadeia).

char Nome_da_tabela[Número_de_elementos]
  • O número de elementos da tabela define o tamanho máximo da cadeia, porém, podemos usar parte deste espaço, inserindo o caractere final da cadeia no local desejado, na tabela.

Ao definir a tabela, da seguinte maneira, você destacará o número máximo de caracteres da cadeia:

char Nome_da_tabela[Número_de_elementos + 1]

Por exemplo:

 char Cadeia[50 + 1]

Inicializar uma cadeia de caracteres

Como normalmente em linguagem C, você deve inicializar sua string, ou seja, preencher os espaços em branco da tabela, com caracteres, sabendo que ele vai necessariamente conter o caractere final da cadeia '\0'.

Há duas maneiras de fazê-lo:

  • Preencher manualmente a tabela, célula por célula
  • Utilizar funções de manipulação de cadeias de fornecidas nas bibliotecas padrão

Veja um exemplo de inicialização manual de cadeia de caracteres:

#include <stdio.h>
void main(){
char Cadeia[20+1];
Cadeia[0]= 'B';
Cadeia[1]= 'o';
Cadeia[2]= 'n';
Cadeia[3]= 'j';
Cadeia[4]= 'o';
Cadeia[5]= 'u';
Cadeia[6]= 'r';
Cadeia[7]= '\0';
}

Veja outra maneira (mais simples) de inicializar uma cadeia de caracteres:

#include <stdio.h>
void main(){
char Cadeia[20+1]={ 'B', 'o', 'n', 'j', 'o', 'u', 'r', '\0' };
}

Funções de manipulação das cadeias de caracteres

Muitas funções de manipulação de strings são fornecidos diretamente. Estas funções estão no cabeçalho do arquivo <string.h> e é a razão para adicionarmos a seguinte linha no início do programa:

#include <string.h>

O arquivo <string.h> contém os protótipos de inúmeras funções para simplificar o uso e a manipulação de strings (cerca de quarenta).

Foto: © fatosi - Unsplash

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'Linguagem C - Cadeia de caracteres (string) ', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade