Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DMT en 23 Junio 2016, 17:05 pm



Título: Duda existencial Struct pointer
Publicado por: DMT en 23 Junio 2016, 17:05 pm
hola a todos. espero que esten bien
les consulto una pequeña duda que no me deja avanzar y por mas que busque mi mente no logra comprender.

aqui un pedazo de un codigo senscillo para ilustrar mi duda un poco tonta
Código:
struct node{
char c;
struct node ptr_next;
};

typedef node NODE;
typedef NODE *ptr_node;

ptr_node apuntador = NULL;

apuntador = malloc(sizeof(NODE));

//supongamos que quiero entrar ala estructura para insertar un caracter
apuntador->c = 'a';

el tema es que mi cabeza no entiende, si bien ptr_node es un apuntador a una estructura de tipo NODE y malloc devuelve un apuntador *void de la memoria libre y reservada del tamaño que le indica sizeof

si ptr_node guarda ese apuntador, como es posible que que a su vez apunte ala estructura  :huh:


Título: Re: Duda existencial Struct pointer
Publicado por: AlbertoBSD en 23 Junio 2016, 17:24 pm
Tu variable apuntador tiene una direccion de memoria Tal que cuando haces:

Código
  1. apuntador->c
estas accediendo a la memoria apuntada por tu apuntador en su posición c.

Si tienes dudas de esto.

ptr_node es un tipo de dato en el cual escondiste el apuntador lo cual no recomiendo mucho si apenas estas aprendiendo a usar apuntadores.

Deberias de ser asi:
Código
  1. NODE *apuntador = NULL;

Saludos.



Edito: Y ya que veo que estas usando Colas en C te dejo mi ultimo video:

KZmcypaVmtI


Título: Re: Duda existencial Struct pointer
Publicado por: DMT en 24 Junio 2016, 07:38 am
Tu variable apuntador tiene una direccion de memoria Tal que cuando haces:

Código
  1. apuntador->c
estas accediendo a la memoria apuntada por tu apuntador en su posición c.

Si tienes dudas de esto.

ptr_node es un tipo de dato en el cual escondiste el apuntador lo cual no recomiendo mucho si apenas estas aprendiendo a usar apuntadores.

Deberias de ser asi:
Código
  1. NODE *apuntador = NULL;

Saludos.



Edito: Y ya que veo que estas usando Colas en C te dejo mi ultimo video:

KZmcypaVmtI

Gracias por la amabilidad,  :D