Re: [問題] 不同物件的Link-List

看板C_and_CPP (C/C++)作者 (青)時間16年前 (2009/09/26 08:13), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串3/5 (看更多)
※ 引述《liu2007 (薯)》之銘言: : ※ 引述《godman362 (青)》之銘言: : 我提供我的寫法 : 你參考看看 : 話說void的也是型態的一種嗎~"~?? : : struct Light : : { : : int Power; : : void *LocalLink; : : }; : : struct TuneLight : : { : : int Power : : void *LocalLink : : }; : 由於你的兩種結構的架構(也就是前面推文所講的存放方式) : 是一模一樣的 : 所以顯示結果才會一樣 : 但如果兩者的struct結構不一樣就囧了 : 所以既然一樣不如宣告在一起 : struct Light : { : int Power; : struct Light *next; : }; 在這邊為止,的確結構是相同的,所以可以這樣用 這是我例子沒注意到,讓他剛好一樣,才產生了誤會 我實際上的結構內容,是完全不可能一樣,請讓我重新舉個例子 struct Light { int Power; void *LocalLink; }; struct TuneLight { int Power; int Brightness; void *LocalLink; }; struct Window { int OpenLevel; void *LocalLink }; 目前這三種struct會由void *所串在一起 int main() { struct Light A; struct TuneLight B; struct Window C; A.LocalLink = &B; //A link to B B.LocalLink = &C; //B link to C } 這是重新舉過的例子 也就是說,不可能再出現像昨天湊巧跑出相同結果的答案 不過這樣我又產生了一個問題 因為實際上我是根據讀檔案而動態產生不同物件後串連 也就是我不知道串連的先後順序,我只知道開頭的位址而已 那麼,我的確可以一路往下指下去沒有問題 但是假設我要從結構中取值的話,就有問題了 因為如同之前所說,我必須要「轉型」 可是我不知道目前指的是哪一個,所以也不知道該轉成什麼型態 所以想再請問各位,這應該如何解決? 或是各位有比我更好想法的話,還請指點一下,謝謝 -- ˍˍ 活出自己 ▕吞佛▏ 才是此生的快意 ▕童子▏  ̄ ̄ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.5.214

09/26 09:41, , 1F
新增一個TYPE欄位, 用類似enum的方式記錄型態是什麼??
09/26 09:41, 1F

09/26 09:41, , 2F
基本上void* node是自己串上的, 串上的時候就要自己記錄
09/26 09:41, 2F

09/26 09:42, , 3F
型態是什麼, 要不就是另外用一個list獨立記錄type....
09/26 09:42, 3F

09/26 13:03, , 4F
我也覺得新增一個欄位就可以,每次讀取的時候看一下類型
09/26 13:03, 4F
文章代碼(AID): #1AlLp4io (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AlLp4io (C_and_CPP)