Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kraiked en 13 Febrero 2016, 11:46 am



Título: Struct con puntero
Publicado por: kraiked en 13 Febrero 2016, 11:46 am
Hola, tengo una duda y es que quiero que el programa me pida un int para inicializarlo en una structura, y luego que pinte ese numero en pantalla, y no se que estoy haciendo mal, ya que el numero no se imprime, debe haber algun error ya que el programa termina, la cosa es que al compilar no me da errores. Dejo el codigo a ver si me podeis hechar una mano, gracias.


Código:
struct _game{
    int player;
    int jugador;       
           
};
typedef struct _game Game;

Ahí delcaro la estructura

Código:
int main(){
    int x;
    T_Command h;
   
    Game *game;
    long y;
    y=3;
    funcion(&y);
    printf ("%ld \n",y);
   
    scanf ("%i",&game->jugador);
    printf ("%i",game->jugador);
   
   
    return 0;
   
   
}

y ahí el resto del programa. Un saludo :)


Título: Re: Struct con puntero
Publicado por: Eternal Idol en 13 Febrero 2016, 12:53 pm
game es un puntero indefinido asi que es logico que se produzca una excepcion no controlada y termine el programa. Siempre es buena idea inicializar las variables; ese codigo deberia mostrarte un warning de este estilo:
warning C4700: uninitialized local variable 'game' used

O usas una variable local o reservas memoria para el puntero y se la asignas.


Título: Re: Struct con puntero
Publicado por: kraiked en 13 Febrero 2016, 13:29 pm
Entonces tendría que hacer algo asi:

Código:
game = (Game*)malloc(sizeof(Game)) 

Con esto reservaria memoria para el puntero ¿no?

PD: me recomiendan algún libro donde hable sobre todo esto? structuras, punteros y reserva de memoria para estos?


Título: Re: Struct con puntero
Publicado por: Eternal Idol en 13 Febrero 2016, 13:51 pm
Si, es correcto, no te olvides de liberar la memoria reservada, en este caso con free.

Hace muchos años que no compro un libro de C/C++ pero este tema sale en cualquiera incluso de C que tenga 30 años.


Título: Re: Struct con puntero
Publicado por: MAFUS en 13 Febrero 2016, 23:32 pm
Sobre el libro que pides tienes un buen paper en esta dirección:
www.cimat.mx/~alram/cpa/pointersC.pdf


Título: Re: Struct con puntero
Publicado por: kraiked en 14 Febrero 2016, 13:39 pm
Muchas gracias a los dos por las respuestas :)


Título: Re: Struct con puntero
Publicado por: Eternal Idol en 14 Febrero 2016, 15:32 pm
De nadas  ::)