Partilhar via


Aviso do compilador (nível 4) C4295

'array': a matriz é muito pequena para incluir um caractere nulo de terminação

Uma matriz foi inicializada, mas o último caractere na matriz não é nulo; acessar a matriz como uma cadeia de caracteres pode produzir resultados inesperados.

Exemplo

O exemplo a seguir gera o erro C4295. Para corrigir esse problema, você pode declarar o tamanho da matriz maior para evitar que um nulo termine a cadeia de caracteres do inicializador, ou você pode usar uma lista de inicializadores de matriz para deixar claro que essa é uma matriz de char, não uma cadeia de caracteres terminada em nulo.

// C4295.c
// compile with: /W4

int main() {
   char a[3] = "abc";           // C4295
   char b[3] = {'d', 'e', 'f'}; // No warning
   a[0] = b[2];
}