c - 将由三个结构组成的链表传递给函数

标签 c list structure

我知道如何创建具有两个结构的链表

为此,我声明一个包含所有必要数据的结构。它看起来像这样:

struct Data{
    int numb;
    int date;
}

第二个结构表示一个节点,该节点具有(即列表的第一个元素)和到下一个节点的链接。

struct llist{
    Data d;
    llist *next;
}

我想知道如果我想将我的列表添加到另一个代表列表的结构中该怎么办。

struct mainList{
    llist l;
}

我知道这可能会造成一些困难,因为我不太确定如何将主列表传递给函数。

在这里,我尝试打印链接列表

void show(mainlist *ml){
    llist *u = ml->l;
    while(u){
        printf("Date: %s\t Name: %s\n",  u->d.dat, u->d.uname/* u->d.dat, u->d.uname*/);
        u=u->next;
    }
}

但出现错误,指出“我无法在初始化中将 'llist' 'llist' 到 'llist*'” 所以,我在这里一无所知......有什么想法吗?

最佳答案

有很多问题 - 但是,与您所指的错误相关的一个问题是以下行:

llist *u = ml->l;  /* I guess you mean struct llist *u = ml->l */

show函数中。这里 u 是一个 struct llist * ,但 ml->l 是一个 struct llist ,但不是指针到它。您需要将 struct mainList 更改为:

struct mainList{
    struct llist *l;
}

因此 ml->l 是一个 struct llist *

关于c - 将由三个结构组成的链表传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38284280/

相关文章:

c - 如何在C函数中使某些参数可选

c - 如何使用原始套接字 ping 本地主机?

visual-studio - C# 如何使用 IEnumerator 创建通用列表集合

python - 计算列表中的初学者单词 : Python

arrays - 循环 ColdFusion 结构

c - 将控制字符放在字符串中是否安全?

list - 用于 Web 的长检查列表 ui 模式

c - 如何为自引用结构类型的对象的成员赋值?

python - 在Python中使用Ctypes读取Dll的双c结构

python - 如何在c内部调用静态pyobject类型的c函数