C/Visual C - Referenciar una estructura a otra

 
Vista:

Referenciar una estructura a otra

Publicado por Maria (1 intervención) el 24/11/2007 11:31:20
Hola, tengo una duda..

En mi programa en C, cuento con dos estrcuturas, una es alumno y otra es asignatura.

Cada una de ellas es asi:
struct asignatura{
char codigo[9];
char nombrea[50];
char titulaciona[60];
int credito;
char caracter[25];

};


struct alumno{
char nombre[50];
char apellido[50];
char telefono[10];
char dni[10];
char titulacion[60];
int nasignaturas; //para contar el numero de asignaturas para dar de alta, consultar...
struct asignatura *asig[15];
struct alumno *sig;
struct alumno *ant;
};

typedef struct asignatura asignatura;

typedef struct alumno alumno;

entonces a la hora de reservar memoria para los datos crear los nodos... para hacerlo con los datos de asignatura hago lo siguiente y me dice que no es correcto:
defino alumno *aux

y para guardar los datos de asignatura hago aux->asig->codigo, aux->asig->nombrea, aux->asig->titulaciona...

Cual e s la manera correcta??gracias, un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Referenciar una estructura a otra

Publicado por Nelek (816 intervenciones) el 29/11/2007 14:23:26
En primer lugar... no me parece buena idea usar el mismo nombre para la estructura y para el alias.

En segundo, intenta ir por orden. Si una struct incluye a la otra, primero defines la incluida y su typedef. Luego la incluyente y su typedef.

Tercero, si alumno ha de incluir varias asignaturas, deberas crear una lista/vector de asignaturas dentro de cada alumno

Cuarto,

struct asignatura *asig[15];

Asi no estas creando 15 asignaturas, y si ya tienes un typedef... pq repites el struct?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar