C · Essencial · Português · Técnico
string terminada em nulo
Convenção em que um texto é um array de char terminado pelo byte zero, '\0'. As funções da biblioteca padrão detectam o fim da string procurando esse byte.
Onde usar
Um array de 5 chars guarda no máximo 4 letras, porque uma posição fica para o terminador. Esquecer o terminador faz strlen e printf lerem além do buffer.
Em código
#include <stdio.h>
#include <string.h>
int main(void) {
char s[] = "oi"; // 'o','i','\0'
printf("%zu %zu\n", sizeof s, strlen(s));
}Exemplos
Esqueci de reservar um byte para a string terminada em nulo.
Toda função de string.h assume uma string terminada em nulo.
Cuidado
Não confundir NULL, que é um ponteiro, com '\0', que é o caractere de valor zero que marca o fim do texto.
Sinônimos
C string