ExpertiDict

C · Essencial · Português · Técnico

literal de string

/li.teˈɾaw dʒi isˈtɾĩ.gi/substantivo

Texto entre aspas duplas no código-fonte, guardado em região normalmente somente leitura. Seu tipo é array de char, e modificá-lo é comportamento indefinido.

Onde usar

Escrever char *s = "abc"; s[0] = 'x'; costuma dar segmentation fault. Para texto modificável, declare char s[] = "abc", que copia o literal para a stack.

Em código

const char *a = "fixo"; // não modificar
char b[] = "copia"; // cópia editável
b[0] = 'C';

Exemplos

Não modifique o literal de string, ele fica em memória somente leitura.

Declare como const char * porque aquilo é um literal de string.

Cuidado

Declarar como char * quando só vai ler; use const char * para o compilador barrar tentativas de escrita.

Sinônimos

string literal

Veja também

Todos os termos de C