【发布时间】:2021-09-18 22:37:29
【问题描述】:
在google和stackoverflow中搜索了好几个小时,最后还是无法发布一个明显的方法来制作push linked-list 的 strong> 函数。
我想制作 push 函数,在特定 的末尾添加新的 node 和新的 value >linked-list。我的最后一次尝试如下所示,但它不起作用。
我在哪里犯了错误,我该如何解决?
#include <stdio.h>
#include <stdlib.h>
struct node{
int value;
struct node *next;
};
typedef struct node node_t;
void push(node_t *h, int val){
//copy value head
node_t *copy;
copy = h;
//reach to last node
while(copy->next != NULL)
copy = h->next;
//make new node and value "val"
copy->next = malloc(sizeof(node_t));
copy->next->next = NULL;
copy->next->value = val;
}
int main(){
node_t h;
h.next = NULL;
push(&h, 100);
push(&h, 200);
push(&h, 300);
printf("%d", h.next->value);
return EXIT_SUCCESS;
}
附加信息:
它已正确编译,但没有运行。
我使用 TDM-GCC 和 C 语言而不是 C++。
【问题讨论】:
标签: c linked-list