我仍然有鏈接列表和結構之間的關係問題。如何初始化一個具有多變量結構的鏈接列表
請參閱我的對象是創建一個列表,其中每個節點包含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;
接下來,我嘗試初始化我的列表。我作出這樣的工作,這樣的功能:
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);
精密:我儘量讓空單現在,讓用戶可以在以後添加一些元素。
而這就是它阻塞的地方:當我運行程序時,它給出了典型的分割錯誤。但它沒有看到我所做的是什麼問題!我把一些寫在我的函數追溯過程:malloc的都行工作,以及字= NULL,但隨後的段故障似乎是在該行
words->next = NULL;
什麼我做了錯誤的運行?爲什麼我不能在我的下一個單詞中給出NULL值?
是啊!我試圖用'words-> first_word = NULL替換它。字 - > second_word = NULL',它通過了!現在,我有我的空列表,我的下一個難題將是正確地做一個如果檢查它是否爲空並填充它(儘管我也有一個分段錯誤)。無論如何,謝謝你,不! – LittleDev
並修正了第二段故障!謝謝大家! – LittleDev