C/C++ , 几个源文件共用一些全局变量,全局变量的文件应该怎么写?

我把以前的一个Win32程序用MFC重写一遍,原来的Win32程序中有一些用结构体定义的全局变量。到MFC里面以后,我把每一个窗口的代码分开来了,每一个窗口两个文件(一个... 我把以前的一个 Win32 程序用 MFC 重写一遍,原来的 Win32 程序中有一些用结构体定义的全局变量。到 MFC 里面以后,我把每一个窗口的代码分开来了,每一个窗口两个文件(一个 .h 一个 .cpp),CWinApp 也两个文件(一个 .h 一个 .cpp)。原来的全局变量应该怎么写呢?有一个窗口会用到这个全局变量,CWinApp 也会用到这个全局变量。这个是要用 extern 吗?有谁能教教我吗?
我那个工程是直接用空工程创建的,看来还得使用 Visual Stidio 创建一个 MFC 模板。
谢谢大家!
展开
 我来答
sunjinglin0321
2010-11-10
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
.h 是头文件 .CPP 源文件 一般情况下。应该放在头文件(.h) 解释 全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。 例如: int a,b; /*外部变量*/ void f1() /*函数f1*/ { …… } float x,y; /*外部变量*/ int fz() /*函数fz*/ { …… } main() /*主函数*/ { …… }/*全局变量x,y作用域 全局变量a,b作用域*/ 从上例可以看出a、b、x、y 都是在函数外部定义的外部变量,都是全局变量。但x,y 定义在函数f1之后,而在f1内又无对x,y的说明,所以它们在f1内无效。 a,b定义在源程序最前面,因此在f1,f2及main内不加说明也可使用。 全局变量是使用相同的内存块在整个类中存储一个值.
百度网友87b4f1c69
2010-11-10 · TA获得超过1218个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:981万
展开全部
全局变量定义到stdAfx.cpp这个文件中,然后在stdAfx.h这个文件中:extern 这个变量,这样做的话,你在你工程的任意一个文件中使用这个全局变量都不用extern了

结构直接定义到stdAfx.h中
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式