gpt4 book ai didi

c - 链接列表,为什么我收到不兼容类型和不完整结构错误

转载 作者:行者123 更新时间:2023-11-30 14:20:15 26 4
gpt4 key购买 nike

假设我有 2 个结构。

    typedef struct name{
char*name;
struct test *next;
}name_t;

typedef struct test {
int grade;
int studentNumber;
struct test *next;
}test_t;

所以标记有一个指向测试的指针,我将如何创建链接列表?

我试过了

name_t *marker1 = malloc(sizeof(name_t));
// added name from another function
test_t *temp= malloc(sizeof(test_t));
// add the grade and student number from another function
if(marker1->next==NULL)
marker1->next=temp;

但它给了我错误

我该如何解决这个问题?这是我第一次编码链表,因此任何帮助将不胜感激

编辑:我还将以下内容制作成函数

void test(name_t* marker1,int data)
{
test_t *temp= malloc(sizeof(test_t));
test_t *location=NULL;
temp->grade=data;
temp->next=NULL;
location=marker1->next;
if(location==NULL)
{
// printf("%i \n",temp->grade);
marker1->next=temp;
}
else
{
while(location!=NULL)
{
printf("%i \n",location->grade);
printf("%p \n",location->next);
location=location->next;
}
location=temp;
}
}

由于某种原因,它似乎没有浏览该列表。为什么?

最佳答案

struct test *next; 引用标签名称test

typedef struct THIS_IS_WHERE_TAG_NAME_SHOULD_BE {
...
} test;

而且你在任何地方都没有这样的标签名称。添加它。

关于c - 链接列表,为什么我收到不兼容类型和不完整结构错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651594/

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