我試圖在C中創建一個鏈接列表,但程序因某些神祕故障而崩潰。創建鏈接列表時的神祕分段錯誤(添加功能)
首先我嘗試這樣做:
typedef struct product_data product_data;
struct product_data {
int product_code;
int product_size;
product_data *next;
};
product_data *products_head = NULL;
product_data *products_tail = NULL;
int main() {
int newcode = 5;
int newsize = 5;
products_head->product_code = newcode;
products_head->product_size = newsize;
products_head->next = NULL;
return 0;
}
不幸的是,程序崩潰,沒有任何錯誤信息。
然後,我改變了一些地方:
typedef struct product_data product_data;
struct product_data {
int product_code;
int product_size;
product_data *next;
};
product_data *products_head = NULL;
product_data *products_tail = NULL;
int main() {
product_data *newproduct;
int newcode = 5;
int newsize = 5;
newproduct->product_code = newcode;
newproduct->product_size = newsize;
newproduct->next = NULL;
products_head = newproduct;
return 0;
}
沒有崩潰這次,它似乎工作。但我不知道爲什麼。
任何想法?
在此先感謝!
必須是最近的家庭作業... – 2012-06-05 19:42:39
必須讓你失望 - 沒有作業。 ;-)不幸的是我不再那麼年輕...... – user1438181
不是故意侮辱;這些問題只是「批量」出現:-) – 2012-06-06 18:21:57