C中另一个结构中的结构
我需要这样做:C中另一个结构中的结构,c,struct,C,Struct,我需要这样做: typedef struct a A; typedef struct b B; struct a{ B oi; }; struct b{ A ola; }; 但当我尝试编译时,它会返回此错误: gustavo@depaula-ubuntu:~/Desktop/grafo$ gcc test.c test.c:3:12: error: field ‘ola’ has incomplete type struct a ola;
typedef struct a A;
typedef struct b B;
struct a{
B oi;
};
struct b{
A ola;
};
但当我尝试编译时,它会返回此错误:
gustavo@depaula-ubuntu:~/Desktop/grafo$ gcc test.c
test.c:3:12: error: field ‘ola’ has incomplete type
struct a ola;
^
编辑:
我不认为这是一个XY问题,但我需要上面的代码(它不工作):
你不能做你想做的事 其中一个成员必须是指针
struct a{
B* oi;
};
struct b{
A ola;
};
或
什么是“像这样的东西”?不,我不想做链表。你为什么需要这个?这不是吗?不要问如何做不可能的事情。相反,请说明您实际想要完成的任务。虽然可能有两个不同的结构相互引用,例如使用指针,但尝试将每个结构的实例嵌套在另一个结构中显然是没有意义的。假设其中至少有一个包含一些附加字段,无限嵌套将需要无限内存和无限地址空间,对吗?相反,试着做一些真正有意义的事情。
struct a{
B* oi;
};
struct b{
A ola;
};
struct b{
A* ola;
};
struct a{
B oi;
};