Strings
Diferente de todos os outros cursos deste site, C não tem nenhum tipo String. Um string em C é um array de char terminado por um byte nulo ('\0'), e functions como strlen, strcat, e strcpy de <string.h> funcionam todas escaneando para frente até encontrar esse terminador.
#include <stdio.h>
#include <string.h>
int main() {
char greeting[20] = "Hello";
strcat(greeting, ", world!");
printf("%s\n", greeting);
printf("Length: %zu\n", strlen(greeting));
return 0;
}Hello, world! Length: 13
strcat anexou a greeting no mesmo lugar — assume que o buffer de destino (declarado como char[20] aqui) tem espaço suficiente restante tanto para o conteúdo existente quanto para a adição, mais o terminador nulo. C nunca verifica isso para você; escrever além do fim de um buffer é a categoria mais comum de bug em C, e é por isso que o aviso anterior sobre undefined behavior importa especialmente aqui.
A seguir: structs — agrupar campos relacionados, o único mecanismo do C para tipos de dados definidos pelo usuário.
Practice exercise
Dado char s[] = "rust lang", imprima seu comprimento usando strlen de <string.h>.