1

我想创建一个主列表,每个主列表元素都有另一个列表。

这就是我所做的

    typedef struct smallList
    {   char data;
        struct smallList *next;  

     } small;

    typedef struct bigList
    {
        int count;
        char data;
        struct bigList *next;
        struct smallList *head;
     } big;

但是我如何访问大列表中的小列表数据并将内容添加到小列表中。非常感谢任何帮助。谢谢....

4

2 回答 2

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.
    }
}
于 2013-02-28T19:34:53.607 回答
1

如果p指向一个 bigList:

  • bigList -> head是 bigList 指向的小列表。
  • (bigList -> head).data是 smallList 包含的字符。
  • (bigList -> next -> head)是 bigList 中的第二个 smallList。
  • (bigList > head -> next)是 bigList 的第一个 smallList 中的第二个元素。

在获得指向要修改的结构的指针后,其他一切都相同。

于 2013-02-28T19:35:07.740 回答