vida todas terminan resueltos regulares real que lenguajes las finitos expresiones ejercicios ejemplos distinguibles conjunto cadenas automatas c string standards

todas - ¿Los literales de cadenas que terminan con un terminador nulo contienen un terminador nulo adicional?



expresiones regulares ejercicios resueltos pdf (1)

Todos los literales de cadena tienen un terminador nulo implícito, independientemente del contenido de la cadena.

El estándar (6.4.5 String Literals) dice:

Un byte o código de valor cero se agrega a cada secuencia de caracteres multibyte que resulta de una cadena literal o literales.

Por lo tanto, el literal de cadena "abc/0" contiene el terminador nulo implícito, además del explícito. Entonces, la matriz a contiene 5 elementos.

Por ejemplo:

char a[] = "abc/0";

¿El estándar C dice que se debe agregar otro byte de valor 0 incluso si la cadena ya tiene un cero al final? Entonces, ¿ sizeof(a) igual a 4 o 5?