• Domingo 15 de Diciembre de 2024, 09:43

Autor Tema:  Dudas Sobre Punteros  (Leído 969 veces)

solarin

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
Dudas Sobre Punteros
« en: Martes 13 de Noviembre de 2007, 11:45 »
0
Si tengo el siguiente puntero :
Código: Text
  1.  
  2. unsigned int * pointer;
  3.  
  4.  
si realizo
Código: Text
  1.  
  2. pointer++;
  3.  
  4.  

cuantos bytes estoy avanzando?
 -El tamaño del unsigned int, simplemente un byte, 4 ?


Por otro lado, lei que no es seguro para un metodo devolver un puntero a un objeto que a sido creado en la pila. Pero no me quedo para nada claro el xq. Alguien me podria resolver la duda?

Gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Dudas Sobre Punteros
« Respuesta #1 en: Martes 13 de Noviembre de 2007, 12:00 »
0
Cita de: "solarin"
Si tengo el siguiente puntero :
unsigned int * pointer;
si realizo
pointer++;

cuantos bytes estoy avanzando?
 -El tamaño del unsigned int, simplemente un byte, 4 ?

Gracias.
El tamaño de unsigned int (que es en PCs 32 y 64 bits, 4 bytes), comprobacion:

Código: Text
  1.  
  2.   unsigned int *pointer = 0;
  3.   for (int x = 0; x < 5; x++, pointer++)
  4.   {
  5.     printf("0x%X\r\n", pointer);
  6.   }
  7.  
  8.  

Cita de: "solarin"
Por otro lado, lei que no es seguro para un metodo devolver un puntero a un objeto que a sido creado en la pila. Pero no me quedo para nada claro el xq. Alguien me podria resolver la duda?

La pila se usa para las variables locales justamente y en cuanto retornas a otra funcion no podes asumir que tu parte de la pila va a seguir siendo valida sino todo lo contrario, seguramente sea usada por otra parte de tu codigo (eso lo determina el compilador). Por algo un compilador inteligente como el VC++ te dice:

warning C4172: returning address of local variable or temporary

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

solarin

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
Re: Dudas Sobre Punteros
« Respuesta #2 en: Martes 13 de Noviembre de 2007, 12:03 »
0
Muchisimas gracias.