【发布时间】:2017-05-17 14:24:02
【问题描述】:
我正在尝试在 C 中实现一个双向链表,我需要使用一个初始化函数,同时保持一个大小字段。我的代码如下:
typedef struct element{
struct element* next;
struct element* prev;
int value;
}element_t;
typedef struct linkedlist{
element_t* head;
element_t* tail;
int size;
}linkedlist;
void init(linkedlist* list){
list = malloc(sizeof(linkedlist));
list->size = 0;
}
int main(int argc, char** argv){
linkedlist* list;
init(list);
return 0;
当我尝试在 init 函数中访问 list->size 时,我得到了正确的值,但是当我尝试从 main 访问 list->size 时,程序返回一个奇怪的大负值(可能是一个地址十六进制)。
想知道我做错了什么。包含标准库。
【问题讨论】:
-
我没有得到反对票。提供的代码是一个明确的问题。
标签: c linked-list malloc