相互结合的结构

前端之家收集整理的这篇文章主要介绍了相互结合的结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要有两个可以包含对方的结构体.这是一个例子:
struct a {
  struct b bb;
};

struct b {
  struct a aa;
};

但是这个代码不能编译. gcc说:

test.c:3: error: field ‘bb’ has incomplete type

有办法实现吗?

解决方法

这应该如何工作? a将包含b,其中将包含一个,将包含b等等…

我想你想使用一个指针吗?

struct b;

struct a {
  struct b *bb;
};

struct b {
  struct a *aa;
};

即使是编码风格不好 – 如果可能,应该避免循环依赖.

猜你在找的C&C++相关文章