C++头文件里声明的变量如何能让所有.cpp文件都可以对它进行修改值,而且修改后值要保存起来

现在在一个工程里有几个.cpp文件,我现在想声明一个全局变量,然后每个.cpp都可以对其修改,比如1.cpp对它进行赋值为1,当2.cpp要对它操作时,此时该全局变量的值... 现在在一个工程里有几个.cpp文件,我现在想声明一个全局变量,然后每个.cpp都可以对其修改,比如1.cpp对它进行赋值为1,当2.cpp要对它操作时,此时该全局变量的值仍旧为1,这样该怎么声明?(我用static声明静态全局变量,可是不行,当1.cpp对它赋值为1后,在2.cpp里我调用它,它值仍然是默认的0)

帮我我再追加300分
用1.cpp修改那个变量,是在编译后执行的时候发生的。所以,那个变量在2.cpp中仍然是默认值
我就是想用什么办法来让它可以给.cpp们改动,且值可以保存起来
展开
 我来答
百度网友e1b9539c0c
2009-05-14 · TA获得超过734个赞
知道大有可为答主
回答量:2241
采纳率:33%
帮助的人:738万
展开全部
应该是你的程序写的不对~按我写的操作看下

第一步,写一个A.h的头文件
代码如下:
void Fun(int *n);

第二部,写一个A.cpp的源文件
代码如下:
void Fun(int *n)
{
*n=1;
}

第三部,写一个测试源文件 Test.cpp
代码如下
#include "stdio.h"
#include "A.h"
int n=0;
int main()
{
printf("原始n的值是%d\n",n);
Fun(&n);
printf("处理后的n值是%d\n",n);
return 0;
}

编译运行结果为:
原始n的值是0
处理后的n值是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Juncox
2009-05-15 · TA获得超过1638个赞
知道大有可为答主
回答量:1904
采纳率:0%
帮助的人:1599万
展开全部
首先只能在一个CPP文件中声明全局变量,另外最好加个包含声明变量的头文件,这样就基本上解决问题了。

比如:
//---------------------------------------
// 全局变量ValueDef.h中声明如下:
#ifndef INCLUDE_G_VALUE
#define INCLUDE_G_VALUE
extern int g_iTest; // 声明引用全局变量一
extern int g_dTest; // 声明引用全局变量二

#endif

//---------------------------------------
// 定义全局变量 Test.CPP中声明
int g_iTest; // 声明全局变量一
int g_dTest; // 声明全局变量二
// ......

//---------------------------------------
// 在使用的变量的地方, 添加 #include "ValueDef.h"
// 就行了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanzhangwen
2009-05-14 · TA获得超过1136个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:853万
展开全部
这个我们以前学的编译原理中有个程序用到过,它当时的解决办法是:

在主函数中声明这一变量
然后在一个全局变量定义的头文件中再对它声明,不过这时候声明是有区别的(防止重复定义) 加上一个关键字 extended ……

然后其他cpp文件中调用这一个头文件

当时那个大程序这样就行了。具体细节我也忘了,你可以试着
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式