小编Lit*_*Dev的帖子

如何使用包含许多变量的结构初始化链接列表

我仍然对链表和结构之间的关系感到麻烦.

请参阅,我的目标是创建一个列表,其中每个节点包含2个字符的字符串.所以,我试过这样的事情:首先,我创建一个用我的2个字符表示元素的结构; 第二,我的列表的控制结构,它将指向我的列表的开头.在我的.h中,它给出了这样的东西:

typedef struct s_def { char *first_word; char *second_word; struct s-def *next; }  t_def

typedef struct s_type { t_def *first; } t_list;
Run Code Online (Sandbox Code Playgroud)

接下来,我尝试初始化我的列表.我创建一个像这样工作的函数:

t_list *list;
t_def *words;

list = malloc(sizeof(*list));
words = malloc(sizeof(*words));
if (list == 0 || words == 0)
   return (NULL);
words = NULL;
words->next = NULL;
list->first = words;

return (list);
Run Code Online (Sandbox Code Playgroud)

精度:我现在尝试制作一个空列表,以便用户以后可以添加一些元素.

这就是它阻止的地方:当我运行程序时,它会给出典型的分段错误.但它看不出我做的是什么问题!我在我的函数中写了一些函数来回溯过程:malloc工作正常,以及单词= NULL,但是段错误似乎在行中运行

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

我做错了什么?为什么我不能在下一个单词中给出NULL值?

c struct linked-list

4
推荐指数
2
解决办法
1549
查看次数

标签 统计

c ×1

linked-list ×1

struct ×1