看板 C_and_CPP 關於我們 聯絡資訊
[顯示][隱藏] 我現在再寫一個回合制的對戰小遊戲 只是拿來自己玩一玩 可是現在碰到一個瓶頸 因為要寫一堆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
wa120:強制型別轉換阿~ 04/04 07:04
RaiGend0519:可以解釋的詳細一點嗎QQ~ 拜託>< 04/04 09:43
in09:其它的file要宣告成 extern struct pc pcgame; 04/05 08:53