【发布时间】:2019-10-02 15:07:32
【问题描述】:
我的问题与 CI 学习列表的早期阶段有关,无论是否与最简单的代码有关,我都无法在任何地方找到我的问题的明确答案。(我是将在一个非常简单的代码上给你一个我不太清楚的例子,只是为了让你了解我失去理解的地方。这与我对更复杂的问题的问题相同。)
struct node{
int data;
struct node *next;
};
我得到了什么数据和下一个用作变量,但我不明白:struct node *next 的真正含义。我们是否创建一个名为 next 的新结构,它具有新数据和下一个成员?我也没有得到下一个 * 的用法。
**下面是一个旨在创建选项卡并将站点地址添加到这些选项卡的代码。类似于浏览器会做的事情。信息代码中的 InfoSession。我正在创建的列表是一个双链表。**但我不明白两件事: 1)例如,TabNodePtr LastTab 到底是什么意思? LastTab 现在是一个新结构,具有上述所有内容:
TabNodePtr PrevTab, NextTab;
SiteNodePtr FirstSite;
SiteNodePtr CurrSite;
作为成员?与 SiteNodePtr 相同。我不明白它们是如何联系在一起的,现在对我来说都是一团圣诞花环。 2)为什么我们对成员使用指针?并且不要只使用 TabNode LastTab ?指针在哪里产生差异,我们必须添加它们?
typedef struct TabNode *TabNodePtr;
typedef struct SiteNode *SiteNodePtr;
struct InfoSession {
TabNodePtr FirstTab;
TabNodePtr LastTab;
TabNodePtr CurrTab;
};
struct TabNode {
TabNodePtr PrevTab, NextTab;
SiteNodePtr FirstSite;
SiteNodePtr CurrSite;
};
struct SiteNode{
SiteNodePtr PrevSite, NextSite;
TabNodePtr UpTab;
};
【问题讨论】:
-
看来你真的需要读几本初学者书籍,因为它们应该能告诉你所有你想知道的事情。
标签: pointers data-structures struct linked-list typedef