C_and_CPP 板


LINE

※ 引괊z《RaiGend0519 (鲜度减半,老了0.5岁囧)》之铭言: : 就像我现在设定一个在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"... 之前我尝试把程式码分开写的时候也碰过。 我试了很久之後用了下面的方法,但是我不知道一般怎麽处理 你可以写一个global.h把所有共用的struct定义都写在这里, 有需要用到的再include此定义档,然後真正宣告的实体变数, 也多加一笔资料在这边,只是要加上extern类似下面 =====================global.h================ #ifudef _GLOBAL_H_ #define _GLOBAL_H_ struct pc{ int a; int b; }; struct pc2{ int c; int d; }; extern struct pc pcgame; #endif ===================main.c===================== #include "global.h" void main() { struct pc pcgame = {1,2}; } ==================xxxx.c====================== #include "global.h" void aaa(void) { pcgame.a = 1; pcgame.b = 2; } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.67.96
1F:→ tsaiminghan:ps 有错别找我啊,记得自己测测看 04/04 10:28
2F:→ tsaiminghan:特别是main.c那边,我编译会过,所以那时忘了测看看 04/04 10:39
3F:→ tsaiminghan:到底正不正确 04/04 10:39
4F:→ tsaiminghan:因为我不确定 extern xxx a; 和 实体宣告放一起会不会 04/04 10:43
5F:→ tsaiminghan:出问题 04/04 10:43
※ 编辑: tsaiminghan 来自: 218.168.67.96 (04/04 11:38)
6F:→ tsaiminghan:改一下xxxx.c 04/04 11:38
7F:推 littleshan: 1. 你有宣告但没定义 04/04 14:27
8F:→ littleshan: 2. main.c 里面实际上会多宣告一个 pcgame 区域变数 04/04 14:28
9F:→ tsaiminghan:对,要宣告在全域才会...我弄错了 04/04 14:29
10F:→ tsaiminghan:宣告成区域变数,其他人会读不到。 04/04 14:30
11F:→ tsaiminghan:多谢指正。 04/04 14:30







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP