Estoy esperando que los dos siguientes vectores tienen la misma representación en la memoria RAM:C - ¿Diferencia entre "char var []" y "char * var"?
char a_var[] = "XXX\x00";
char *p_var = "XXX";
Pero extraño, una llamada a una función de biblioteca de tipo f(char argument[])
crushs la aplicación en ejecución, si lo llamo usando f(p_var)
. ¡Pero usar f(a_var)
está bien!
¿Por qué?
Como sé, en ANSI C todos pueden modificarse – psihodelia
Usted sabe incorrecto. El estándar prohíbe modificaciones de literales de cadenas. –
Ok, gracias! Ahora, lo recordaré para siempre :) – psihodelia