[問題] C語言 - Struct 在大型程式專案中的使用?

看板C_and_CPP (C/C++)作者 (鮮度減半,老了0.5歲囧)時間16年前 (2009/04/04 03:55), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/3 (看更多)
[顯示][隱藏] 我現在再寫一個回合制的對戰小遊戲 只是拿來自己玩一玩 可是現在碰到一個瓶頸 因為要寫一堆Functions 所以我就用專案的方式把原始碼分成好幾個 .o檔 可是現在碰到一個大問題:   「如果我在main.o裡面使用了struct,    並在main.o創造一個使用該struct的全域變數並給予初值,    另外一個struct no.2是只有寫出一個使用no.2的全域變數但沒給初值,    那其他xxx.o裡面的Function如果有用到這兩個變數,    並對其作更改或儲存時,    要怎麼作才能讓其他的xxx.o可以使用到我設定的struct變數?」 就像我現在設定一個在main.o: struct pc { int a; int b; }; struct pc pcgame={1,2}; struct pc2 { int c; int d; }pcgame2; 然後我在其他.o檔裡面有使用到: if(pcgame.a > pcgame.b) XXXXXXXX; else XXXXXXXX; 或著 pcgame2.c=((rand()%3)+1); 這樣的時候 該怎麼作才能讓他們之間可以互相使用? 因為我怎麼試他都說沒有定義 有人說用#define把struct跟創造的結構變數寫進去... 可是這樣不是就不能更動了嗎= ="... 我試著把struct做成.c檔 然後include近來 並在main.o設定全域變數 但是Dev c++說這樣是"muiltily define pcgame"... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.64.174.87

04/04 07:04, , 1F
強制型別轉換阿~
04/04 07:04, 1F

04/04 09:43, , 2F
可以解釋的詳細一點嗎QQ~ 拜託><
04/04 09:43, 2F

04/05 08:53, , 3F
其它的file要宣告成 extern struct pc pcgame;
04/05 08:53, 3F
文章代碼(AID): #19rcd1Ug (C_and_CPP)
文章代碼(AID): #19rcd1Ug (C_and_CPP)