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

看板C_and_CPP作者 (薯)時間14年前 (2009/09/26 00:24), 編輯推噓1(106)
留言7則, 1人參與, 最新討論串2/5 (看更多)
※ 引述《godman362 (青)》之銘言: 我提供我的寫法 你參考看看 話說void的也是型態的一種嗎~"~?? : struct Light : { : int Power; : void *LocalLink; : }; : struct TuneLight : { : int Power : void *LocalLink : }; 由於你的兩種結構的架構(也就是前面推文所講的存放方式) 是一模一樣的 所以顯示結果才會一樣 但如果兩者的struct結構不一樣就囧了 所以既然一樣不如宣告在一起 struct Light { int Power; struct Light *next; }; : int main() : { : Light A; : TuneLight B; 你這樣宣告有過嗎@.@ 應該不會過吧? 除非你typedef過.... : A.LocalLink = &B; 兩種不同型態的資料(包括struct的內容) 硬要存在一起會出問題 : cout <<A.LocalLink->Power; : return 0; : } int main() { struct Light A, B; A.Power = 1; A.next = NULL; B.Power = -1; B.next = NULL; A.next = &B; printf("%d\n", A.next->Power); // cout <<A.LocalLink->Power; return 0; } 有錯請糾正,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.63.167 ※ 編輯: liu2007 來自: 118.232.63.167 (09/26 00:26)

09/26 08:01, , 1F
實際上兩種結構內容的東西是完全不同的
09/26 08:01, 1F

09/26 08:01, , 2F
只是剛好我舉的例子不太恰當,讓您誤解了
09/26 08:01, 2F

09/26 08:01, , 3F
如果結構內容相同,當然就是像您上面寫的一樣
09/26 08:01, 3F

09/26 08:01, , 4F
這點是毫無疑問的
09/26 08:01, 4F

09/26 08:01, , 5F
只是敝人還有一個問題想請教
09/26 08:01, 5F

09/26 08:02, , 6F
就是說,當不同的結構串在一起時
09/26 08:02, 6F

09/26 08:02, , 7F
我要如何判斷目前指標在哪一個結構上?
09/26 08:02, 7F
文章代碼(AID): #1AlEx2gk (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AlEx2gk (C_and_CPP)