Share via


Advertencia del compilador (nivel 4) C4295

"array": la matriz es demasiado pequeña para incluir un carácter nulo final

Se inicializó una matriz, pero el último carácter de la matriz no es null; acceder a la matriz como una cadena puede producir resultados inesperados.

Ejemplo

El ejemplo siguiente genera la advertencia C4295. Para corregir este problema, podría declarar un tamaño de matriz mayor, con el fin de contener un valor null final de la cadena de inicializador, o bien podría usar una lista de inicializadores de matriz para que la intención sea clara de que se trata de una matriz de char, no una cadena terminada en null.

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

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