Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: neox en Agosto 17, 2011, 10:00:57 PM

Título: [SOLUCIONADO] Acceso a estructura Anidada
Publicado por: neox en Agosto 17, 2011, 10:00:57 PM
buenas--- a ver si alguien me responde algo sencillo... necesito saber la manera de acceder a algun miembro de una estructura anidada; les pongo el codigo:

struct asistente{
int ced;
int carne;
char insti;
char nombre;
struct curso_asistido{
char ncurso;
char prof_curso;
int codcurso;

quiero saber como puedo accerder a los miembros de curso_asistido ..... gracias al que me pueda echar una mano
Título: Re:[AYUDA]Acceso a estructura Anidada
Publicado por: linkgl en Agosto 18, 2011, 12:31:37 AM
A mí me enseñaron a usarlas así:

Defines las dos estructuras con sus datos/parámetros, despues a una estructura le defines la segunda estructura en una variable o puntero (como si estuviera anidada pero ya definida en la estructura), ejemplo:

#include <stdio.h>
#include <stdlib.h>



struct curso_asistido{
   char ncurso;
   char prof_curso;
   int codcurso;
};
struct asistente{
   int ced;
   int carne;
   char insti;
   char nombre;
   struct curso_asistido link; //Aca anidamos la primera estructura para llamarla como link
};

int main()
{
struct asistente lenk;
lenk.link.codcurso=41;
printf("%d",lenk.link.codcurso);
getchar();
return 0;
}


De igual forma puedes probar con estructura1.estructura2.dato jeje más no fué como me enseñaron.
Título: Re:[AYUDA]Acceso a estructura Anidada
Publicado por: neox en Agosto 18, 2011, 02:00:37 AM
gracias por la respuesta linkgl!!

me puse a probar hasta que finalmente recorde una manera de hacerlo les muestro por si a alguien le sirve:

typedef struct asistente{
int ced;
int carne;
char insti;
char nombre;
bool activo;
struct curso_asistido{
char ncurso;
char prof_curso;
int codcurso;
}x;
};


y para acceder a algun elemento de la estructura anidada sencillamente se pone:

variable.x.ncurso  ....... de la misma manera con cualquier otro miembro de la estructura!

saludos ;)
Título: Re:[SOLUCIONADO]Acceso a estructura Anidada
Publicado por: linkgl en Agosto 18, 2011, 11:31:20 AM
jaja ahh es verdad!, de igual forma si es necesario puedes incluso declararla como puntero o de ambas formas. :P