标题:请问需要在struct内部引用自身的情况下,使用typedef的意义是什么
只看楼主
nothingness
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2012-8-13
结帖率:100%
已结贴  问题点数:5 回复次数:5 
请问需要在struct内部引用自身的情况下,使用typedef的意义是什么
typedef struct CStashTag{
   int size;
   int quantity;
   int next;
   unsigned char* storage;
}CStash;
void initialize(CStash* s,int size);
void cheanup(CStash* s);
///:~


书中描述:“在需要在struct内部引用自身的情况下,例如链表(链表中每个元素包含指向下个元素的指针),这样就需要指向下一个struct变量的指针,所以需要一种方法,来辨认这个struct内部的指针的类型。在C库中,几乎总是可以在如上所示的每个struct体中看到typedef。”


问题:请问类似上面的代码中,在需要在struct内部引用自身的情况下,是否可以不使用typedef来命名别名,而直接使用struct类型的变量。
像书中所说的在类似代码中使用typedef的意义是什么,跪求指导   
搜索更多相关主题的帖子: 元素 storage quantity 
2013-05-23 19:11
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
typedef就是为了好看

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-24 06:31
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:2 
typedef宏定义 可以给struct结构体创建一个新名称 例如typedef int INT,之后就可以用INT作为int类型符了

C++菜鸟
2013-05-24 08:27
nothingness
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2012-8-13
得分:0 
回复 3楼 lzj12530
请问在这个代码中typedef除了命名别名之外就没有别的作用了吗,还是说只是一种编程的书写习惯
2013-05-24 20:26
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:3 
以下是引用nothingness在2013-5-24 20:26:25的发言:

请问在这个代码中typedef除了命名别名之外就没有别的作用了吗,还是说只是一种编程的书写习惯


比如这种typedef std::pair<Object*, Object*> Pair;
动辄二三十个字符长度的map,pair或者vector之类的定义
或者迭代器定义什么的
敲来敲去很烦的...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-25 09:25
nothingness
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2012-8-13
得分:0 
回复 5楼 peach5460
我明白了,谢谢
2013-05-25 12:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407856-1-1.html




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

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