Partilhar via


Inicializando cadeias de caracteres

Você pode inicializar uma matriz de caracteres (ou caracteres largos) com um literal de cadeia de caracteres (ou literal de cadeia de caracteres larga). Por exemplo:

char code[ ] = "abc";

Inicializa code como uma matriz de quatro elementos de caracteres. O quarto elemento é o caractere nulo, que termina todos os literais de cadeia de caracteres.

Uma lista de identificadores só pode ser tão longa quanto o número de identificadores a serem inicializados. Se você especificar um tamanho de matriz menor que a cadeia de caracteres, os caracteres extras serão ignorados. Por exemplo, a seguinte declaração é inicializada code como uma matriz de caracteres de três elementos:

char code[3] = "abcd";

Apenas os três primeiros caracteres do inicializador são atribuídos a code. O caractere d e o caractere nulo de terminação de cadeia de caracteres são descartados. Observe que isso cria uma cadeia de caracteres não terminada (ou seja, uma sem um valor 0 para marcar seu fim) e gera uma mensagem de diagnóstico indicando essa condição.

A declaração

char s[] = "abc", t[3] = "abc";

é idêntica a

char s[]  = {'a', 'b', 'c', '\0'},
     t[3] = {'a', 'b', 'c' };

Se a cadeia de caracteres for menor do que o tamanho da matriz especificado, os elementos restantes da matriz serão inicializados como 0.

Específico da Microsoft

No Microsoft C, literais de cadeia de caracteres podem ter até 2048 bytes de comprimento.

END Específico da Microsoft

Ver também

Inicialização