tipos recursivos entre si

titin
21 de Agosto del 2003
Como se pueden definir dos tipos struct, si en cada uno los campos son del otro tipo.
Se puede hacer alguna clase de declaracion previa para que trague el compilador?
Gracias...

chuidiang
21 de Agosto del 2003
No puedes hacerlo. Imagina

struct A
{
int a;
struct B b;
}

struct B
{
int c;
struct A a;
}

¿Cuanto ocupa una de esas estructuras en memoria? pues toda la memoria del ordenador y algo mas. Esas estructuras no serían útiles.

Lo que si puedes hacer es que el campo sea un puntero a la otra estructura. No estoy seguro si funciona (con clases si funciona, con estructuras no lo se), pero la declaración previa sería mas o menos

struct A;

struct B
{
int c;
struct A *a;
};

struct A
{
int a;
struct B *b;
};

Se bueno.