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
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.
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 ;)
jaja ahh es verdad!, de igual forma si es necesario puedes incluso declararla como puntero o de ambas formas. :P