Menu
Coddy logo textTech

Strings estilo C - Parte 2

Parte da seção Fundamentos do Journey de C++ da Coddy — lição 68 de 74.

É importante lembrar que, ao declarar uma string no estilo C com um tamanho específico, você precisa alocar espaço suficiente para os caracteres que deseja armazenar, além de um espaço extra para o caractere nulo.

Por exemplo:

// Correto: "Hello" precisa de 6 espaços
// (5 letras + '\0')
char str1[6] = "Hello";
// Errado: Array muito pequeno!
// "Hello" precisa de 6 espaços, mas apenas 5 foram fornecidos
char str2[5] = "Hello";
// Isso pode causar problemas
// Correto: Espaço extra não tem problema
// Espaço mais que suficiente (10 > 6 necessários)
char str3[10] = "Hello";
// Exemplo mostrando a contagem de caracteres:
char name[5] = "John";  // Precisa de 5 espaços:
// J + o + h + n + '\0' = 5 caracteres

Você pode acessar caracteres individuais em uma string no estilo C usando a notação de array:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

Você também pode modificar caracteres em uma string no estilo C, desde que não exceda os limites do array:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Exibe "Jello"

No entanto, você não pode atribuir diretamente uma nova string a uma string no estilo C após ela ser declarada. Você precisará usar funções como strcpy para copiar strings, o que abordaremos em lições posteriores.

Folha de consulta

Ao declarar strings no estilo C, aloque espaço para todos os caracteres mais um para o terminador nulo '\0':

// Correto: "Hello" precisa de 6 espaços (5 letras + '\0')
char str1[6] = "Hello";

// Errado: Array muito pequeno!
char str2[5] = "Hello"; // Isso pode causar problemas

// Correto: Espaço extra não tem problema
char str3[10] = "Hello";

Acesse caracteres individuais usando a notação de array:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

Modifique caracteres dentro dos limites do array:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Exibe "Jello"

Nota: Você não pode atribuir diretamente uma nova string a uma string no estilo C após a declaração. Use funções como strcpy para cópia de strings.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos