标题:数组链表的实现,程序里有两个语句我看不懂!
只看楼主
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
结帖率:90.24%
已结贴  问题点数:20 回复次数:13 
数组链表的实现,程序里有两个语句我看不懂!
#ifndef _SEQLIST_H_
#define _SEQLIST_H_

typedef void SeqList;                           //  ????????????????????
typedef void SeqListNode;                       //  ????????????????????  什么意思?

SeqList* SeqList_Create(int capacity);

void SeqList_Destroy(SeqList* list);

void SeqList_Clear(SeqList* list);

int SeqList_Length(SeqList* list);

int SeqList_Capacity(SeqList* list);

int SeqList_Insert(SeqList* list, SeqListNode* node, int pos);

SeqListNode* SeqList_Get(SeqList* list, int pos);

SeqListNode* SeqList_Delete(SeqList* list, int pos);

#endif
搜索更多相关主题的帖子: capacity 
2015-04-15 09:02
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
得分:0 
以上是定义的头文件

既然还有不甘心
就还没到放弃的时候~
2015-04-15 09:02
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:2 
http://baike.baidu.com/link?url=c3i__T_oLybGcfgUxAspKY6zckBnIXugWAG_1sNYmpbKV_Iq1yraqMjWw0uggjiutsiZH1zmldIiFIvuBkpgYq

DO IT YOURSELF !
2015-04-15 09:17
z_j_j_1
Rank: 4
等 级:业余侠客
威 望:1
帖 子:62
专家分:213
注 册:2015-4-4
得分:3 
就是给 void起个别名哦
2015-04-15 14:20
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
得分:5 
Typedef 在 C 语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。
例如,思考一下下面的例子:
#define dPS struct s *
typedef struct s * tPS;
以上两种情况的意图都是要定义 dPS 和 tPS 作为一个指向结构 s 指针。哪种方法更好呢?(如果有的话)
为什么?
这是一个非常微妙的问题,任何人答对这个问题(正当的原因)是应当被恭喜的。答案是: typedef 更好。
思考下面的例子:
dPS p1,p2;
tPS p3,p4;
第一个扩展为
struct s * p1, p2;
上面的代码定义 p1 为一个指向结构的指,p2 为一个实际的结构,这也许不是你想要的。第二个例子正
确地定义了 p3 和 p4 两个指针。

风回小院庭芜绿,柳眼春相续
2015-04-15 17:45
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
得分:0 
typedef void SeqList;                           

是将void类型重命名为SeqList吗??

我也是没看明白,有什么意义??

重命名前是什么类型?
重命名后叫什么?

人有多懒,编程就有多难。
2015-04-15 18:00
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
得分:0 
回复 5楼 纳兰伽香
我晓得typedef的用法哦。就是不懂在程序中那么用是为了表示什么意思?

既然还有不甘心
就还没到放弃的时候~
2015-04-15 19:45
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
得分:0 
回复 3楼 wp231957
我明白typedef的用法哦,就是不明白代码里那么是什么意思?
typedef void SeqList;                           //  ????????????????????
typedef void SeqListNode;                       //  ????????????????????  
难道就是简单的用用SeqList和SeqListNode表示void吗? 如果这么单纯的理解的话,那么

SeqListNode* SeqList_Get(SeqList* list, int pos);

SeqListNode* SeqList_Delete(SeqList* list, int pos);

这两句岂不是等价于
void *SeqList_Delete(SeqList* list, int pos);

void *SeqListNode* SeqList_Get(SeqList* list, int pos);
本身无返回值,好似不妥哦!

既然还有不甘心
就还没到放弃的时候~
2015-04-15 19:47
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
得分:0 

既然还有不甘心
就还没到放弃的时候~
2015-04-15 21:52
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
得分:0 
回复 5楼 纳兰伽香
我明白typedef的用法哦,就是不明白代码里那么是什么意思?
typedef void SeqList;                           //  ????????????????????
typedef void SeqListNode;                       //  ????????????????????  
难道就是简单的用用SeqList和SeqListNode表示void吗? 如果这么单纯的理解的话,那么

SeqListNode* SeqList_Get(SeqList* list, int pos);

SeqListNode* SeqList_Delete(SeqList* list, int pos);

这两句岂不是等价于
void *SeqList_Delete(SeqList* list, int pos);

void *SeqListNode* SeqList_Get(SeqList* list, int pos);
本身无返回值,好似不妥哦!

既然还有不甘心
就还没到放弃的时候~
2015-04-15 22:00



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




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

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