C/Visual C - Estructuras con void

 
Vista:

Estructuras con void

Publicado por Alex (7 intervenciones) el 02/05/2002 19:39:49
tengo una estructura principal:

typedef struct inicio{
int *primero;
int *segundo;
void *falta
};

Y despues tengo dos estructuras mas que depende de lo que sea segundo vendra una estructura o otra,

typedef struct dos{
char *des;
int *sed;
};

typedef struct tres{
int defg;
chae sedf;
};

como puedo decir que primero me coga la primera estructura, y despues depende de lo que sea segundo (que esta en la primera estructura) me coga la segunda estructura y me la meta donde esta el void, o me coga la tercera.

Supongamos que segundo si es 2000 coga la struct dos, y si es 3000 coga la struct tres.

Muchas gracias por ayudarme.
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:Estructuras con void

Publicado por chuidiang (677 intervenciones) el 03/05/2002 07:05:58
Este es el tipico problema para resolver con uniones

typedef struct inicio
{
int *primero;
int *segundo;
union falta
{
struct *dos;
struct *tres;
}
}

luego tendrías que asignar o leer
inicio.falta.dos o bien inicio.falta.tres

Tal cual lo tienes planteado, puedes guardar el puntero que quieras y luego leerlo con un "cast"

if (inicio.segundo == 2000)
{
inicio.falta = (void *)dos;
dos = (struct dos *)inicio.falta;
}

Se bueno.
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