免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 0462119
打印 上一主题 下一主题

[C] 两个结构体如何相互定义对方成员? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-09-03 17:38 |只看该作者

回复 #10 ubuntuer 的帖子

程序的世界你是可以手拽着自己头发把自己提起来的i=j=k=i^_^;??我怀疑:
void a();

void b(){
printf("use a \n");
  a();
}

void(){
printf("use b \n");
  b();
}

运行结果就是挂掉~~,死了~~~ 嘿嘿~~

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
12 [报告]
发表于 2009-09-03 17:40 |只看该作者

回复 #11 lsupper 的帖子

这样才够直接:
void f() { f(); }

论坛徽章:
0
13 [报告]
发表于 2009-09-03 17:44 |只看该作者

回复 #12 OwnWaterloo 的帖子

额,你是更直接了~~~

论坛徽章:
0
14 [报告]
发表于 2009-09-03 17:46 |只看该作者

回复 #12 OwnWaterloo 的帖子

这个让我想起了一个问题:
int a = a;
这个也可以过的~~~

论坛徽章:
0
15 [报告]
发表于 2009-09-03 18:09 |只看该作者
原帖由 lsupper 于 2009-9-3 17:38 发表
程序的世界你是可以手拽着自己头发把自己提起来的i=j=k=i^_^;??我怀疑:
void a();

void b(){
printf("use a \n";
  a();
}

void(){
printf("use b \n";
  b();
}

运行结果就是挂掉~~,死 ...

你死了,挂了就说明这样是可以的了!!!^_^

  1. :() { :|:& }; :
复制代码

你要是用linux的话,跑跑上面的东东,让你死的更快^_^

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
16 [报告]
发表于 2009-09-03 18:21 |只看该作者

说真的

标题中的"两个结构体如何相互定义对方成员" 是达不到的吧?

struct A {
    struct B b;
    ...
};

struct B {
    struct A a;
    ...
};


原帖由 shmild 于 2009-9-3 12:35 发表
我如何手拽着自己头发把自己提起来?

指的应该是这个。

论坛徽章:
0
17 [报告]
发表于 2009-09-03 18:33 |只看该作者
typedef struct B BBB;

struct A
{
  BBB *p;
  int a;
  int b;
};

struct B
{
  AAA *p;
  int aa;
  int bb;
};

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
18 [报告]
发表于 2009-09-03 18:47 |只看该作者
原帖由 rollin7 于 2009-9-3 18:33 发表
typedef struct B BBB;

struct A
{
  BBB *p;
  int a;
  int b;
};

struct B
{
  AAA *p;
  int aa;
  int bb;
};



編譯會出現下面錯誤
expected specifier-qualifier-list before ‘AAA’

论坛徽章:
0
19 [报告]
发表于 2009-09-03 18:56 |只看该作者
原帖由 shihyu 于 2009-9-3 18:47 发表



編譯會出現下面錯誤
expected specifier-qualifier-list before ‘AAA’


恩,搞错,前面没有typedef struct A AAA;

只是想说前面hellioncu (特别坏)的写法可行。

贴一个《C和指针》的例子

struct B;

struct A {
   struct B *partner;
}

struct B
  struct A *partner;
}

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
20 [报告]
发表于 2009-09-03 19:00 |只看该作者


  1. struct A
  2. {
  3.   strcut  B  *p;
  4.   int a;
  5.   int b;
  6. };

  7. struct B
  8. {
  9.   struct  A  *p;
  10.   int aa;
  11.   int bb;
  12. };

复制代码




指针是一个完全型
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP