C/C++ , 几个源文件共用一些全局变量,全局变量的文件应该怎么写?
我把以前的一个Win32程序用MFC重写一遍,原来的Win32程序中有一些用结构体定义的全局变量。到MFC里面以后,我把每一个窗口的代码分开来了,每一个窗口两个文件(一个...
我把以前的一个 Win32 程序用 MFC 重写一遍,原来的 Win32 程序中有一些用结构体定义的全局变量。到 MFC 里面以后,我把每一个窗口的代码分开来了,每一个窗口两个文件(一个 .h 一个 .cpp),CWinApp 也两个文件(一个 .h 一个 .cpp)。原来的全局变量应该怎么写呢?有一个窗口会用到这个全局变量,CWinApp 也会用到这个全局变量。这个是要用 extern 吗?有谁能教教我吗?
我那个工程是直接用空工程创建的,看来还得使用 Visual Stidio 创建一个 MFC 模板。
谢谢大家! 展开
我那个工程是直接用空工程创建的,看来还得使用 Visual Stidio 创建一个 MFC 模板。
谢谢大家! 展开
展开全部
.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内不加说明也可使用。 全局变量是使用相同的内存块在整个类中存储一个值.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询