iam試圖在C中使用一個簡單的鏈表,但我有一些麻煩。 我創建了一個結構節點鏈接列表的意外行爲
struct node{
int value;
struct node *next;
};
,並在主下面的代碼
struct node *root;
struct node *conductor;
root = (struct node *)malloc(sizeof(struct node));
root->next = 0;
conductor = root;
root->value = 1;
if ((root->value) == 1)
LED_GREEN = 1;
//LED_GREEN = 1;
我運行它在嵌入式系統上寫道,只是比較根節點的值。我期望LED發光,但事實並非如此。任何人有一個想法,爲什麼這不按預期工作?
什麼是LED_GREEN?另請[閱讀本文](http://stackoverflow.com/a/605858/1983495)。如果你不使用'if'會發生什麼? –
root-> next = 0;是錯的。它應該指向有效的內存位置 – JerryGoyal
@JerryGoyal它怎麼錯了?這就是你如何初始化第一個節點的鏈表。 – Lundin