Tema: duda
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/02/2011, 21:28
fightmx
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 9 meses
Puntos: 22
Respuesta: duda

Cita:
Iniciado por cabeto14 Ver Mensaje
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:
Código:
char a='a';
pt=&a;
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.