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