Cita:
Iniciado por cabeto14 hola tengo una duda.. si hago esto:
codigo C++:
Código:
const char *puntero=0;
puntero="hola";
que ocurre internamente? el compilador crea el puntero y luego, en la asignacion, crea una cadena de caracteres, la guarda en memoria y el puntero va a apuntar a la direccion del primer caracter (h)? y luego si hago:
que ocurre con la cadena que se guardo en memoria "hola"?.. deja de exitir o sigue existiendo hasta que el programa termine solo que el puntero no a apuntar a ella.. y si este es el caso como puedo volver a apuntar a la cadena?
gracias
Efectivamente, el array de caracteres "hola" se crea en la zona de almacenamiento estático del programa, por lo tanto existe hasta que el programa termina.
En este caso si asignas otra dirección al puntero no podrás volver a apuntarla.