編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
在linux中,他的雙向鏈結串列因為要可以儲存不同的資料型態,所以他的鏈結串列和資
料是分開來的,要使用時在將資料加到鏈結串列上
例如這樣
struct list_head {
struct list_head *next, *prev;
};
要使用時再這樣
struct num {
int number; //data
struct list_head list;
};
但是這樣要如何實作?
像是如果我想要新增一個節點
但list的資料型態是list_head,意思是我只能新增一個list_head的節點,而這個結點無
法儲存資料
如果我新增一個num型態的節點,但是我的list並不能指向一個num型態的節點
而我新增了一個num型態的節點,我用list_head的指標去指向這個num型態的節點,我原
本預期應該是錯誤的(可能直接編譯錯誤或是在執行階段當掉),但居然成功運作了
但我完全不知道為何會這樣
餵入的資料(Input):
無
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
https://ideone.com/dQZkIq