Supongamos que he siguiente inicialización de una matriz de caracteres:inicializar arrays de char de una manera similar a la inicialización de los literales de cadena
char charArray[]={'h','e','l','l','o',' ','w','o','r','l','d'};
y también tengo tras la inicialización de una cadena literal:
char stringLiteral[]="hello world";
La única diferencia entre los contenidos de la primera matriz y la segunda cadena es que la segunda cadena tiene un carácter nulo en su extremo.
Cuando se trata de inicializar una matriz de caracteres, ¿hay una macro o algo que nos permita poner nuestro texto de inicialización entre dos comillas dobles pero donde la matriz no obtiene un carácter de terminación nulo adicional?
Simplemente no tiene sentido para mí que cuando no se necesita un carácter nulo de terminación, debemos usar la sintaxis de la primera inicialización mencionada y escribir dos comillas simples para cada carácter en el texto del inicializador, así como las marcas de virulencia para separar personajes.
Debo añadir que cuando quiero tener una matriz char, también debería ser obvio que no quiero usarla con funciones que dependen de cadenas literales junto con el hecho de que ninguna de las funciones en las que se utiliza una cadena resultados literales, es en mi consideración.
Estoy agradecido por sus respuestas.
@Michael - es un requisito en los estándares C y C++. – Steve314
El * PROBLEMA * que enfrenta es que el lenguaje requiere que "cadenas entrecomilladas" terminen en NUL. – torak