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们改动,且值可以保存起来 展开
帮我我再追加300分
用1.cpp修改那个变量,是在编译后执行的时候发生的。所以,那个变量在2.cpp中仍然是默认值
我就是想用什么办法来让它可以给.cpp们改动,且值可以保存起来 展开
8个回答
展开全部
应该是你的程序写的不对~按我写的操作看下
第一步,写一个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
第一步,写一个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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先只能在一个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"
// 就行了...
比如:
//---------------------------------------
// 全局变量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"
// 就行了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个我们以前学的编译原理中有个程序用到过,它当时的解决办法是:
在主函数中声明这一变量
然后在一个全局变量定义的头文件中再对它声明,不过这时候声明是有区别的(防止重复定义) 加上一个关键字 extended ……
然后其他cpp文件中调用这一个头文件
当时那个大程序这样就行了。具体细节我也忘了,你可以试着
在主函数中声明这一变量
然后在一个全局变量定义的头文件中再对它声明,不过这时候声明是有区别的(防止重复定义) 加上一个关键字 extended ……
然后其他cpp文件中调用这一个头文件
当时那个大程序这样就行了。具体细节我也忘了,你可以试着
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询