gpt4 book ai didi

c - 链接列表的结构声明

转载 作者:太空狗 更新时间:2023-10-29 16:13:04 25 4
gpt4 key购买 nike

typedef struct
{
int idno;
char name[max];
float cgpa;
}student;

struct node
{
student s;
Link next;
};
typedef struct node Node;
typedef Node *Link;

这是行不通的,因为编译器不知道 Link,但这行得通

在函数'main'中:|错误:未知类型名称“链接”|

typedef struct {
int idno;
char name[max];
float cgpa;
}student;

typedef struct node Node;
typedef Node *Link;
struct node
{
student s;
Link next;
};

但是在这里,编译器如何在结构声明之前知道,因此可以对它们进行类型定义?

最佳答案

typedef struct node Node;

告诉编译器在某处定义了一个带有标签 node 的结构类型,而 Node 是该类型的另一个名称。

typedef  Node  *Link;

告诉编译器 Linkstruct node * 的另一个名称。由于所有指向结构类型的指针都需要具有相同的表示和对齐要求,这就是编译器在中使用它所需要知道的所有内容

struct node
{
student s;
Link next;
};

关于c - 链接列表的结构声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16750089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com