【发布时间】:2021-04-07 16:26:57
【问题描述】:
当我尝试调用应该初始化我的链表的函数时出现以下错误。
passing argument 1 of 'init_list' from incompatible pointer type [-Wincompatible-pointer-types]
init_list(list);
我不明白为什么会收到此错误。这是我第一次使用链接列表,因此感谢您的帮助。 以下是我如何设置我的链表以及我的函数原型:
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
typedef char DATA_TYPE;
typedef struct node_t
{
DATA_TYPE item;
struct node_t* next;
} node;
typedef struct
{
node* head;
int len;
} linkedlist_t;
void init_list(linkedlist_t* plist);
这是函数:
void init_list(linkedlist_t* plist)
{
plist->head = (node *)malloc(sizeof(node));
plist->head->next = NULL;
plist->len = 0;
}
这就是我在main 中调用函数的方式。
#include "linkedlist.h"
int main(void) {
node list;
init_list(&list);
return 0;
}
【问题讨论】:
-
node list;?这不是一个列表。 -
init_list 想要linkedlist_t* 对象而不是node* 对象
标签: c linked-list