微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

相互结合的结构

我想要有两个可以包含对方的结构体.这是一个例子:
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;
};

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

原文地址:https://www.jb51.cc/c/114696.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐