【发布时间】:2017-01-02 21:06:59
【问题描述】:
我正在尝试编写简单的推送功能,一切都很好,直到运行时,执行的代码崩溃。哪位大神能解释一下原因吗?
#include<stdio.h>
#include<stdlib.h>
typedef struct list{
int order;
struct list *next;
}list;
void push(struct list **arg,int i);
int main()
{
struct list **ptr=NULL;
for(int i=0;i<10;++i){
push(ptr,i);
}
return 0;
}
void push(struct list **arg,int i){
struct list *temp;
temp= malloc(sizeof(list));
temp->order=i;
temp->next=*arg;
*arg=temp;
}
【问题讨论】:
-
struct list **ptr=NULL;需要是struct list *ptr=NULL和push(ptr,i);然后变成push(&ptr,i);
标签: c linked-list push singly-linked-list