我想创建一个主列表,每个主列表元素都有另一个列表。
这就是我做的事情
typedef struct smallList
{ char data;
struct smallList *next;
} small;
typedef struct bigList
{
int count;
char data;
struct bigList *next;
struct smallList *head;
} big;
但是如何从大列表中访问小列表数据并将内容添加到小列表中。 任何帮助非常感谢。谢谢....
答案 0 :(得分:2)
因此,如果我们假设已经填充了这个结构,我们可以这样做:
struct smallList *smallElem = NULL;
struct bigList *bigElem = NULL;
for (bigElem = your_big_list(); bigElem != NULL; bigElem = bigElem->next) {
// Do something with bigElem.
for (smallElem = bigElem->head; smallElem != NULL; smallElem = smallElem->next) {
// Do something with the smallElem.
// Note that we can still reference bigElem here as well.
}
}
答案 1 :(得分:1)
如果p
指向bigList:
bigList -> head
是bigList指向的小列表。 (bigList -> head).data
是smallList包含的字符。 (bigList -> next -> head)
是bigList中的第二个smallList。 (bigList > head -> next)
是bigList的第一个smallList中的第二个元素。获取指向要修改的结构的指针后,其他所有内容都是相同的。