C - Cordas
Strings são na verdade arrays unidimensionais de caracteres terminados por um null caractere '\0'. Assim, uma string terminada em nulo contém os caracteres que compõem a string seguida por um null .
A seguinte declaração e inicialização criam uma string que consiste na palavra "Hello". Para manter o caractere nulo no final do array, o tamanho do array de caracteres que contém a string é um a mais que o número de caracteres na palavra "Hello".
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
Se você seguir a regra de inicialização da matriz, poderá escrever a instrução acima da seguinte maneira -
char greeting[] = "Hello";
A seguir está a apresentação de memória da string definida acima em C/C++ −
Na verdade, você não coloca o null caractere no final de uma constante de string. O compilador C coloca automaticamente o '\0' no final da string quando inicializa o array. Vamos tentar imprimir a string mencionada acima -
Demonstração ao vivo
#include <stdio.h> int main () { char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("Greeting message: %s\n", greeting ); return 0; }
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Greeting message: Hello
C suporta uma ampla gama de funções que manipulam strings terminadas em nulo -
Nº Sr. | Função e Propósito |
---|---|
1 | strcpy(s1, s2); Copia a string s2 na string s1. |
2 | strcat(s1, s2); Concatena a string s2 no final da string s1. |
3 | strlen(s1); Retorna o comprimento da string s1. |
4 | strcmp(s1, s2); Retorna 0 se s1 e s2 forem iguais; menor que 0 se s1 |
5 | strchr(s1, ch); Retorna um ponteiro para a primeira ocorrência do caractere ch na string s1. |
6 | strstr(s1, s2); Retorna um ponteiro para a primeira ocorrência da string s2 na string s1. |
O exemplo a seguir usa algumas das funções mencionadas acima -
Demonstração ao vivo
#include <stdio.h> #include <string.h> int main () { char str1[12] = "Hello"; char str2[12] = "World"; char str3[12]; int len ; /* copy str1 into str3 */ strcpy(str3, str1); printf("strcpy( str3, str1) : %s\n", str3 ); /* concatenates str1 and str2 */ strcat( str1, str2); printf("strcat( str1, str2): %s\n", str1 ); /* total lenghth of str1 after concatenation */ len = strlen(str1); printf("strlen(str1) : %d\n", len ); return 0; }
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
strcpy( str3, str1) : Hello strcat( str1, str2): HelloWorld strlen(str1) : 10
Linguagem C
- Cadeia C#
- Strings Java
- Java enum Strings
- Como criar uma lista de strings em VHDL
- Strings C++:strcpy(), strcat(), strlen(), strcmp() EXEMPLOS
- Strings em C:como declarar variável, inicializar, imprimir, exemplo
- Método Java String charAt() com exemplo
- Java String EndsWith() Método com Exemplo
- Strings Python:Substituir, Unir, Dividir, Reverter, Maiúsculas e Minúsculas
- Python String count() com EXEMPLOS