Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Curioso0078 en 13 Marzo 2017, 04:14 am



Título: Para que sirve un puntero a una estructura?
Publicado por: Curioso0078 en 13 Marzo 2017, 04:14 am
Haciendo una tarea para la facultad, veo que crean un puntero que esta asignado a la direccion en memoria de una estructura
Código
  1.  
  2. struct fecha {
  3.   int mes;
  4.   int dia;
  5. };
  6.  
  7. main() {
  8.   fecha *fechaPunt;
  9.   fechaPunt = new fecha;
  10.  
  11.   fechaPunt -> mes = 10;
  12.   fechaPunt -> dia = 17;
  13. delete fechaPunt; }
  14.  
  15.  
El problema es que no entiendo porque hacen esto, de que sirve?. No es mejor poner
Código
  1.  
  2. main() {
  3.  
  4. fecha.mes = 10;
  5. fecha.dia = 17;
  6.  
  7. }
  8.  
  9.  
Esto resumiría todas las lineas de codigo del main() anterior en 2. ¿Tiene alguna utilidad el crear un puntero en este ejemplo?


Título: Re: Para que sirve un puntero a una estructura?
Publicado por: ivancea96 en 13 Marzo 2017, 10:07 am
En ese ejemplo, sin duda la utilidad es muy escasa o nula. Yo creo que lo pusieron solo como ejemplo para que se vea cómo se utiliza memoria y tal con estructuras.


Título: Re: Para que sirve un puntero a una estructura?
Publicado por: integeroverflow en 15 Marzo 2017, 05:27 am
En ese ejemplo, sin duda la utilidad es muy escasa o nula. Yo creo que lo pusieron solo como ejemplo para que se vea cómo se utiliza memoria y tal con estructuras.

pero en el caso de :

Código:
estructura *mi_estructura = malloc(sizeof(struct estructura));

se reservaria memoria en la heap, al contrario de :

Código:
estructura mi_estructura; 

que reservaria la memoria en la stack, es correcto lo que digo?






Título: Re: Para que sirve un puntero a una estructura?
Publicado por: ivancea96 en 15 Marzo 2017, 12:48 pm
pero en el caso de :

Código:
estructura *mi_estructura = malloc(sizeof(struct estructura));

se reservaria memoria en la heap, al contrario de :

Código:
estructura mi_estructura; 

que reservaria la memoria en la stack, es correcto lo que digo?