【重新发一贴】关于结构体。

fzc115100 2011-05-03 08:00:58
struct a { struct b *bb; }aa;
struct b { struct a aa; }bb;

想上面这么用的意义是上面?一般来说,在那种情况下会这样使用呢?是否可以举一个简单的例子呢?谢谢
...全文
103 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzc115100 2011-05-22
  • 打赏
  • 举报
回复
谢谢楼上各位,结贴!
qq120848369 2011-05-03
  • 打赏
  • 举报
回复
这在C++里是避免声明依赖的不二法则,指针或者引用.
dcw0402 2011-05-03
  • 打赏
  • 举报
回复
互通有无
fzc115100 2011-05-03
  • 打赏
  • 举报
回复
sorry,什么叫“以前”啊~~
fzc115100 2011-05-03
  • 打赏
  • 举报
回复
谢谢以上各位,以前c版的热心人还真不少~

以后可能还要经常来想前辈们讨教,

在这里我想补充一下,

我们讨论的都是C而不是C++,据我所知 类应该是C++的概念吧?
当然现在的linux代码都把C当C++用了~

源代码我会在后天早上之前附上,请大家帮我分析一下。

希望楼上回答我问题的好心人能继续关注到五月五日,谢谢各位!
李亚超 2011-05-03
  • 打赏
  • 举报
回复


struct a
{
struct b *bb; /*结构体a的struct b 指针成员*bb*/
}aa;/*aa表示结构体struct a */
struct b
{
struct a aa;/*结构体b的struct a 指针成员*aa*/
}bb;/*bb表示结构体struct b */


排版整理一下,容易理解多了
老邓 2011-05-03
  • 打赏
  • 举报
回复
注:尤其是封面界面库的时候。
老邓 2011-05-03
  • 打赏
  • 举报
回复
实际工程中是经常用的。

例如Dialog1和Dialog2两个类。
如果需要在Dialog1中调用Dialog2的方法,而Dialog2中又要调用Dialog1的方法。
则在头文件中相互保存指针。
在源文件中包含头文件,再调用。
你如果研究下界面编程,会发现这是一种常见的方法。
huer0625 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ljt3969636 的回复:]

C/C++ code

struct son ;//必要的前向声明
struct father{ son *bb1; }aa;//建议你改下里面成员的命名免得把自己绕晕了
struct son { father aa1; }bb;//这里aa1干脆也变成father*指针得了,但我保持你原样

//最后一个类设计成这样,一般也没什么,但是有些人看了一定会笑话的
[/Quote]
++1
张小毛 2011-05-03
  • 打赏
  • 举报
回复
链表的头不错
ljt3969636 2011-05-03
  • 打赏
  • 举报
回复

struct son ;//必要的前向声明
struct father{ son *bb1; }aa;//建议你改下里面成员的命名免得把自己绕晕了
struct son { father aa1; }bb;//这里aa1干脆也变成father*指针得了,但我保持你原样

//最后一个类设计成这样,一般也没什么,但是有些人看了一定会笑话的

HeartWasNot 2011-05-03
  • 打赏
  • 举报
回复
放代码中才看得出它的意义,不要单独切出来。。
就想一个词在句子中的意思,才是明确的。。
Arnold9009 2011-05-03
  • 打赏
  • 举报
回复
这个是你变化后的吧,看不出来有什么意义

把原版的贴出来看看
就想叫yoko 2011-05-03
  • 打赏
  • 举报
回复
是写一起吗
看不出有什么作用

是否是为了以后扩展添加别的元素进去呢

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧