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

例如有两个函数
void a() 和 void b()
怎么在a()中定义一个(全局)变量,使b()可以访问?
又如何才能做到在一个函数执行时,定义一个可以被多个函数分别使用的变量呢?

全局变量的定义只能在函数外部,不能在函数内部。 当要使用其他文件里的定义的全局变量时,可以用关键字extern,格式是 [extern 类型 变量名;] 希望对你有帮助。追问

那如何才能做到在一个函数执行时,定义一个可以被多个函数分别使用的变量呢?

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-29
在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);
}
第2个回答  2019-06-29
你是不是定义全局生命周期的变量?
static int n;
n在程序的整个生命周期有效追答

想让多个函数可以共同访问的变量,只能是全局变量,或者成员变量(能被所有当前累中的全局函数访问)。

本回答被提问者采纳
相似回答