| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 650 人关注过本帖
标题:结构体类型
只看楼主 加入收藏
C语言NEW
Rank: 2
来 自:C语言家族
等 级:论坛游民
帖 子:68
专家分:65
注 册:2013-6-26
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:9 
结构体类型
stuct p
{char name[20];
char sex;
int age;
 stuct p pet;};
这个小东西视频上说是不合法的,什么递归定义..不行的
我在想,没有完全一样吧,第二个stuct p后面不是还有个pet吗
求解
搜索更多相关主题的帖子: 结构体 
2013-08-07 10:16
C语言NEW
Rank: 2
来 自:C语言家族
等 级:论坛游民
帖 子:68
专家分:65
注 册:2013-6-26
收藏
得分:0 
还要问一下,后面这个pet是什么的啊,名字?变量?

C语言菜鸟啦啦啦,必须的。
2013-08-07 10:17
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:4 
stuct p pet;

说明  pet  是定义的 p 型,然而定义p型时  里面又包含了  pet   所以这样是不合法的。。。。。。

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-08-07 10:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:4 
如果合法的话,这个 sizeof(struct p) 应该是无限大,这个宇宙容不下你^_^
2013-08-07 10:32
awisebird_
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:185
注 册:2013-7-6
收藏
得分:4 
pet是p型结构体变量,结构体不能嵌套自身吧,可以嵌套其他结构体
2013-08-07 10:38
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:4 
楼猪,不要纠结这些扯淡的问题,没什么意思
其实很多语法就是方便使用而定义的,你说你那样定义有何用处。
明显的死嵌套没有意义
估计你是把它和链表那个结构体搞混了,如果这样的话,你下去再理解理解,因为指针有明确的大小(在一定的机器上)

扯淡的问题,咱们还不如休息会:另外哥们也给出一个 扯淡的问题,验证过的,
其实最简单的循环不是循环语句,是这样的
程序代码:
#include<stdio.h>
int main()
{
    printf("循环死你!\n");
    main();
}


有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-08-07 16:25
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 6楼 liufashuai
按照C/C++标准所规定:递归main函数是 未定义行为
2013-08-07 16:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
回复 6楼 liufashuai
这个还真不知道算不算循环   

查看了一下 反汇编代码

递归main   最终汇编代码是  CALL main

而正常的循环代码  都是先比较 然后再jmp啥的

DO IT YOURSELF !
2013-08-07 16:45
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:0 
这也是扯淡的问题,一般不会有人用main函数递归。不过确实可以运行出结果。而且我感觉开销也比较大

有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-08-07 17:05
netaa001
Rank: 2
等 级:论坛游民
帖 子:73
专家分:69
注 册:2013-8-5
收藏
得分:4 
悄悄的告诉你一句话,"结构本身不能含有同类型的结构,但可以含有指向同类型结构的指针"

你应该这样写:

struct p
{
    char name[20];
    char sex;
    int age;
    struct p * pet;
};
2013-08-07 23:40
快速回复:结构体类型
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019123 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved