我做了一個二叉樹分配列表時,不兼容的類型,其中有三個基本層次結構的:遞歸數據結構走錯了 - 從類型結構* L
typedef struct l {
char n[15];
struct l *next;
} List;
typedef struct {
char rname[20];
char lname[20];
List number;
} info;
typedef struct tree {
info thisnode;
struct tree *left;
struct tree *right;
} Tree;
,並在此行代碼
t->thisnode.number = t->thisnode.number.next;
我獲得了冠軍,遞歸數據結構這些類型分配工作提到
通常錯誤,儘管未來有型結構* L。任何人都可以幫我弄清楚爲什麼在這種情況下它不起作用?
此外,我會本能地有以上行
t->thisnode.number = t->thisnode.number->next;
但我的編譯器似乎喜歡就更少了。
嗯,我喜歡你的建議,並將信息中的數字更改爲List *,這讓我做出了任務,並且擺脫了很多編譯器錯誤(一旦我將所有number.n更改爲號 - > N)。 但是在我的主函數中,我在插入一個條目後出現seg錯誤,而在我添加List結構之前,我沒有遇到這個問題。我有一點擺弄它,但我感覺C不喜歡那個3級結構,還是很好? – Joe
好吧,似乎我忘了malloc當'數字'分配給number-> n [x]時,這似乎已經修復了seg錯誤。 – Joe