Es una cadena char [5] = “Hola”; ¿válido?

lenguaje C Preguntas más frecuentes sobre declaración cadena: cadena es char [5] = “Hola”; válida?

, es una declaración válida ( algunos compiladores estándar pueden no ser compatibles ), pero no debe ser utilizado. De acuerdo con las reglas de declaración de cadena, cadena debe ser terminado por nulo (0). En esta declaración, un conjunto de 5 elementos se creará y todos los elementos será llenado por ‘H’, ‘e’, ‘I’, ‘l’ y ‘o’ sin necesidad de terminar por el carácter NULL.

Puesto que, la cadena no se ha terminado correctamente, por lo que no se puede utilizar con el printf , strcpy () etc.

Cómo solucionar este problema?

Para solucionar este problema, el tamaño de la matriz debe ser de 6, la declaración correcta será: char string [6] = “Hola”;


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *