ExpertiDict

C · Essencial · Português · Técnico

string terminada em nulo

/isˈtɾĩ.gi teʁ.miˈna.dɐ ẽj ˈnu.lu/substantivo

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

Veja também

Todos os termos de C