c - c中交替结构类型的链表

标签 c struct linked-list

这是一道关于c语言的问题,

我正在尝试创建具有两种类型的结构:A 和 B。 这样我就可以声明一个链表 A->B->A->B...

我的问题是,“如何声明类型以便我可以创建链接列表 A->B->A->B->...?”

最佳答案

您的问题是,任一类型都必须了解另一种类型才能定义。您定义类型的顺序并不重要,但是您必须告诉您定义的第一个类型第二个存在,但将在稍后定义。这称为前向声明,请参阅 BostonBooks 评论中的链接。在 C(顺便说一句,还有 C++)中,这将如下所示:

struct B;
struct A
{
    struct B* next;
};
struct B
{
    struct A* next;
};

(我从M.M的评论中盗用了代码...)

关于c - c中交替结构类型的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36467141/

相关文章:

声明数组的说明

c - fscanf 正在崩溃程序

c - 这是否会创建具有冒号后所写的相应大小的变量?

结构而不是数组的运算符的 C 地址?

java - 如何对链表中的整数求和

c - 将 scanf 与指针数组一起使用

c - 读取并修改txt文件(逐行)

c - free() 指针

c++ - 如何对链表执行选择排序?

c - 不使用库函数的 Ascii 到整数