C++如何在一个函数体内部定义全局变量

例如有两个函数voida()和voidb()怎么在a()中定义一个(全局)变量,使b()可以访问?又如何才能做到在一个函数执行时,定义一个可以被多个函数分别使用的变量呢?... 例如有两个函数
void a() 和 void b()
怎么在a()中定义一个(全局)变量,使b()可以访问?
又如何才能做到在一个函数执行时,定义一个可以被多个函数分别使用的变量呢?
展开
 我来答
司马刀剑
高粉答主

2019-06-28 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7470万
展开全部
全局变量的定义只能在函数外部,不能在函数内部。 当要使用其他文件里的定义的全局变量时,可以用关键字extern,格式是 [extern 类型 变量名;] 希望对你有帮助。
追问
那如何才能做到在一个函数执行时,定义一个可以被多个函数分别使用的变量呢?
百度网友8b58de0
2019-06-29 · TA获得超过945个赞
知道小有建树答主
回答量:1079
采纳率:83%
帮助的人:323万
展开全部
在a()中定义变量,是不可能被全局访问的,函数内定义的变量都是局部变量。局部变量是在栈中申请的内存空间,函数一旦退出,栈空间数据将被抹去,其它函数是不可能访问的。

全局变量只能在函数外声明。
b()访问a()中的数据方法常见一般有2种,全局变量和传参,比如:
int i;//全局变量
void b(int j)
{
printf("i=%d, j=%d",i,j);
}
void a()
{
int j;
i=1;
j=2;
b(j);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
axylp
2019-06-29 · TA获得超过507个赞
知道小有建树答主
回答量:956
采纳率:63%
帮助的人:97.1万
展开全部
你是不是定义全局生命周期的变量?
static int n;
n在程序的整个生命周期有效
追答
想让多个函数可以共同访问的变量,只能是全局变量,或者成员变量(能被所有当前累中的全局函数访问)。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式