[ Foro de C ]
Estoy estudiando C, y hasta ahora las cadenas de caracteres las venia creando asi:
char cadena[] = "Hola como te va";
pero ahora me encontre que tambien se puede hacer asi:
char* cadena = "Hola como te va";
y no entiendo porque funciona, osea por lo que entiendo los punteros son para aputar a direcciones de otras variables, pero en este caso lo estaria usando para guardar una cadena de texto, no entiendo porque funciona, porque crea en el un array.
Efectivamente, las dos nomenclaturas son válidas. Es uno de los detalles que hace que C sea un lenguaje difícil de leer y más aún de depurar. En este contexto, "char *" se podría traducir como "una posición de memoria a partir de la que hay caracteres".
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)