Capítulo 07: Strings (Cadeias de Caracteres) 🐺⚔️
Neste capítulo, vamos aprender a trabalhar com textos na linguagem C usando as Strings, com o tema The Witcher!
📖 O que são Strings em C?
Em C, não existe um tipo de dado primitivo chamado “String” (como em Java ou Python). Uma string em C é simplesmente um vetor de caracteres (char) que termina com um caractere especial nulo \0.
📖 Exemplo Guiado: Nome do Bruxo
Vamos aprender a declarar uma string, ler um nome do teclado e exibi-lo.
- Crie o arquivo
nome_bruxo.cna pastasrc/:
#include <stdio.h>
int main() {
// Declarando uma string com capacidade para 30 caracteres
char nome[30];
printf("Digite o nome do Bruxo: ");
// O %s lê uma string, mas para no primeiro espaço.
// O scanf para strings não precisa do '&'!
scanf("%s", nome);
printf("Bem-vindo, Bruxo %s da Escola do Lobo!\n", nome);
return 0;
}🕹️ Como Executar e Testar no VS Code
- Abra o terminal integrado.
- Compile:
gcc nome_bruxo.c -o nome_bruxo - Execute:
./nome_bruxo - Digite
Geralte pressione Enter.
Resultado Esperado:
Digite o nome do Bruxo: Geralt
Bem-vindo, Bruxo Geralt da Escola do Lobo!📊 Ilustração Visual: String na Memória
Veja como a string “Geralt” é armazenada. O \0 avisa o C onde o texto termina!
graph LR subgraph Vetor de Char A['G'] --- B['e'] --- C['r'] --- D['a'] --- E['l'] --- F['t'] --- G['\0'] end
🛠️ Prática Obrigatória 1: Nome Completo (com espaços)
O scanf("%s") para de ler no primeiro espaço. Para ler um nome completo (como “Geralt de Rivia”), usamos a função scanf(" %[^\n]s", variavel). Crie um programa chamado nome_completo.c que use essa técnica para ler e exibir o nome completo de um bruxo.
🔑 Gabarito de Código
Prática 1: nome_completo.c
#include <stdio.h>
int main() {
char nome_completo[50];
printf("Digite o nome completo do Bruxo: ");
// Lê tudo até que o usuário aperte Enter
scanf(" %[^\n]s", nome_completo);
printf("Registrado no Animus: %s\n", nome_completo);
return 0;
}📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
(Siga o padrão estabelecido no Guia)