作者RaiGend0519 (鲜度减半,老了0.5岁囧)
看板C_and_CPP
标题[问题] C语言 - Struct 在大型程式专案中的使用?
时间Sat Apr 4 03:55:44 2009
[显示][隐藏]
我现在再写一个回合制的对战小游戏
只是拿来自己玩一玩
可是现在碰到一个瓶颈
因为要写一堆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
1F:推 wa120:强制型别转换阿~ 04/04 07:04
2F:→ RaiGend0519:可以解释的详细一点吗QQ~ 拜托>< 04/04 09:43
3F:推 in09:其它的file要宣告成 extern struct pc pcgame; 04/05 08:53