指针malloc失败

She*_*hen 1 c malloc pointers

我试图定义一个包含节点*next的节点结构.我编写了一个append(node* n?函数来在前​​一个节点旁边添加一个新节点,但是每次运行代码时,它都会给我一个seg错误.我的代码如下:

#include<stdlib.h>
#include<stdio.h>


typedef struct _log_t {
  struct _log_t* next;
}log_t;

void initi(log_t* l) {
  l = (log_t*)malloc(sizeof(log_t));
  l -> next = NULL;
}

void append(log_t* l){
  l->next = (log_t*)malloc(sizeof(log_t)); 
  l->next->next = NULL;
  l = l->next;
}
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

Yan*_*min 6

 l = l->next;
Run Code Online (Sandbox Code Playgroud)

那条线没有按照你的想法行事 - 事实上,它没有做任何事情.

也许您想将log_t*作为a传递log_t**,或者返回新的log_t*.