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 |
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]
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]
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:
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' };
}
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