【求助】关于结构体的提问,万分感谢。

fzc115100 2011-05-03 05:06:50
举例:
struct a
{
...
struct bb;
...
}aa;

struct b
{
struct aa;
}bb;

这种情况理论上成立么?

我看到一段代码和这种情况类似~~

还想请问这样做的意义和通常应用时怎样的?谢谢了 各位!
...全文
138 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
老邓 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 fzc115100 的回复:]

引用 2 楼 justkk 的回复:
用指针或许可以
struct a { struct b *bb; }aa;
struct b { struct a aa; }bb;


谢谢,我想请问大家,出现这种指针调用是很常见的么?在何种情况下使用改方式~~谢谢众位。
[/Quote]
很常见的,互相引用。
陈思有 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bdmh 的回复:]
你这两个内部struct都是独立的声明,可不是你定义的那两个

struct a
{
...
struct bb; //这个bb可不是后边的那个bb,bb中的struct a道理一样
...
}aa;
[/Quote]
++
nostopstep 2011-05-03
  • 打赏
  • 举报
回复
这种用法在VC中式可行的,即便不是在一个头文件中只要像C++那样,先对结构体做个事先声明,就可以了.
fzc115100 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 justkk 的回复:]
用指针或许可以
struct a { struct b *bb; }aa;
struct b { struct a aa; }bb;
[/Quote]

谢谢,我想请问大家,出现这种指针调用是很常见的么?在何种情况下使用改方式~~谢谢众位。
fzc115100 2011-05-03
  • 打赏
  • 举报
回复
不好意思众位,真的是指针,对不起了!!

wwyyxx26 2011-05-03
  • 打赏
  • 举报
回复
我看到一段代码和这种情况类似~~


能不能把这段代码贴出来,让偶见识一下~~
RedWolf1999 2011-05-03
  • 打赏
  • 举报
回复
难怪看着别扭,7楼说的有道理。

struct bb; 这个去掉struct后来看,就是bb,放在那没什么意义吧?
wwyyxx26 2011-05-03
  • 打赏
  • 举报
回复
世间万物也没有这样的啊!!
RedWolf1999 2011-05-03
  • 打赏
  • 举报
回复
很奇怪,但竟然在VC6.0下编译通过了。
bdmh 2011-05-03
  • 打赏
  • 举报
回复
你这两个内部struct都是独立的声明,可不是你定义的那两个

struct a
{
...
struct bb; //这个bb可不是后边的那个bb,bb中的struct a道理一样
...
}aa;
pengzhixi 2011-05-03
  • 打赏
  • 举报
回复
有一个得用指针作为成员的。
bdmh 2011-05-03
  • 打赏
  • 举报
回复
这种情况最好是使用指针
flysnowhite 2011-05-03
  • 打赏
  • 举报
回复
不成立,构成结构体嵌套,编译出错
昵称很不好取 2011-05-03
  • 打赏
  • 举报
回复
可以互相包含指针
这样内存模型没法搞
justkk 2011-05-03
  • 打赏
  • 举报
回复
用指针或许可以
struct a { struct b *bb; }aa;
struct b { struct a aa; }bb;
justkk 2011-05-03
  • 打赏
  • 举报
回复
不行吧,编译失败

69,375

社区成员

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

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