Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Strings em C: Como Arrays de Caracteres Terminado em Null Funcionam

Strings são na verdade arrays unidimensionais de caracteres terminados por um caractere null '\0'. Assim, uma string terminada em null contém os caracteres que compõem a string seguidos por um null.

A seguinte declaração e inicialização criam uma string consistindo da palavra "Hello". Para manter o caractere null no final do array, o tamanho do array de caracteres contendo 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 de array, pode escrever a instrução acima da seguinte forma:

char greeting[] = "Hello";

Segue a apresentação de memória da string definida acima em C/C++:

Strings em C: Como Arrays de Caracteres Terminado em Null Funcionam

Na verdade, você não coloca o caractere null 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:

Live Demo
#include <stdio.h>
int main() {
    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    printf("Mensagem de saudação: %s\n", greeting);
    return 0;
}

Quando o código acima é compilado e executado, produz o seguinte resultado:

Mensagem de saudação: Hello

C suporta uma ampla gama de funções que manipulam strings terminadas em null:

Sr.No. Função & Propósito
1

strcpy(s1, s2);

Copia a string s2 para a 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 são iguais; menor que 0 se s1<s2; maior que 0 se s1>s2.

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:

Live Demo
#include <stdio.h>
#include <string.h>
int main() {
    char str1[12] = "Hello";
    char str2[12] = "World";
    char str3[12];
    int len;
    /* copia str1 para str3 */
    strcpy(str3, str1);
    printf("strcpy(str3, str1) : %s\n", str3);
    /* concatena str1 e str2 */
    strcat(str1, str2);
    printf("strcat(str1, str2): %s\n", str1);
    /* comprimento total de str1 após concatenação */
    len = strlen(str1);
    printf("strlen(str1) : %d\n", len);
    return 0;
}

Quando o código acima é compilado e executado, produz o seguinte resultado:

strcpy(str3, str1) : Hello
strcat(str1, str2): HelloWorld
strlen(str1) : 10

Linguagem C

  1. Dominando Strings em C#: Fundamentos, Operações e Técnicas Avançadas
  2. Dominando Strings em Java: Criação, Métodos e Boas Práticas
  3. Dominando Representações String em Enums Java
  4. Criando Listas de Strings em VHDL: Boas Práticas e Exemplo
  5. Dominando Funções de String em C++: strcpy, strcat, strlen, strcmp – Exemplos Práticos
  6. Strings em C Facilitadas: Declaração, Entrada, Saída e Funções da Biblioteca
  7. Entendendo Java String.charAt(): Sintaxe, Tipo de Retorno, Exceções e Exemplo Prático
  8. Dominando Java String.endsWith(): Como Verificar Sufixos de String com Exemplos
  9. Domine Operações com Strings em Python: Replace, Join, Split, Reverse e Conversão de Case
  10. Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos