错误,使用C编程的链表

时间:2017-01-02 21:07:00

标签: c linked-list push singly-linked-list

我正在尝试编写简单的推送功能,一切正常,直到运行时,执行的代码崩溃。有人可以澄清原因吗?

#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;

}

1 个答案:

答案 0 :(得分:0)

df1 = pd.concat([df] * 30000, ignore_index=True)
df1.shape
(90000, 2)

# Check whether they produce the same outcome
dummies_strip_concat(df1).equals(pir(df1))
True

%timeit pir(df1)
10 loops, best of 3: 97.5 ms per loop

%timeit johne(df1)
10 loops, best of 3: 76.5 ms per loop

%timeit dummies_strip_concat(df1)
100 loops, best of 3: 13.2 ms per loop

否则,如果要声明这样

list *ptr=NULL;
     ^^^           
for(int i=0;i<10;++i){
    push( &ptr,i);
         ^^^^
  }

然后解除引用

struct list **ptr=NULL;

导致未定义的行为。