gpt4 book ai didi

c - 尝试创建链表但指针赋值出错

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:15 25 4
gpt4 key购买 nike

我正在尝试创建一个链表并创建一些方法。但是,我收到错误:

Assignment makes pointer from integer without a cast.

这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include "students.h"


node_ptr create(void)
{
node_ptr students = (node_ptr) malloc(sizeof(struct node));
students->ID = 0;
students->name = NULL;
students->next = NULL;
return students;
}

void insert_in_order(int n, node_ptr list)
{
node_ptr before = list;
node_ptr new_node = (node_ptr) malloc(sizeof(struct node));
new_node->ID = n; //error is here I think


while(before->next && (before->next->ID < n))
{
before = before->next;
}

new_node->next = before->next;
before->next = new_node;
}

最佳答案

如果错误出现在注释行,那么 ID 可能是一个指针,而不是一个 int。这将正常工作:

students->ID = 0; 

因为它将指针设置为 NULL,所以它编译时没有错误/警告。

关于c - 尝试创建链表但指针赋值出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2682016/

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