c++ 要访问全局变量

在C和C++中,如果一定要访问全局变量该怎么实现?在局部变量和全局变量作用域重叠区域,一般默认是局部的,那要是一定要访问全局的,该怎么办?... 在C和C++中,如果一定要访问全局变量该怎么实现?
在局部变量和全局变量作用域重叠区域,一般默认是局部的,那要是一定要访问全局的,该怎么办?
展开
 我来答
稳重的草率
2010-09-13 · 超过19用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:52.6万
展开全部
#include <iostream>
using namespace std;

int global= 5; //这个是全局变量

int main()
{
if(1 == 1)
{
int global= 4; // 这个是局部变量
cout << global <<endl; //输出局部变量
cout << ::global <<endl;//输出全局变量,使用作用域标识符 ::
}
return 0;
}

//当::的前面没有任何对象时,它代表后面的对象或函数是全局的。
头发凌乱着
2010-09-13
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
定义全局变量就行了吗!

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内不加说明也可使用。 全局变量是使用相同的内存块在整个类中存储一个值.

参考资料: http://baike.baidu.com/view/261041.htm?fr=ala0_1_1

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈学阳
2010-09-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5590万
展开全部
不能访问,根据变量就近原则,只有跟当前语句最近的那个变量可以访问。
楼主这种使用相同变量名称的做法是非常不符合规范,应该严厉禁止的。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nLoneliness
2010-09-13 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
在访问变量时加上::,比如:
#include<iostream>
using namespace std;
int a = 0;
int main()
{
int a = 2;
{
int a = 1;
cout<<a<<::a<<endl;
return 0;
}
}
执行会输出
10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北纬践行者
2010-09-16 · TA获得超过553个赞
知道答主
回答量:102
采纳率:100%
帮助的人:29.2万
展开全部
有作用域运算符::,
#include<iostream.h>
int a=100;
int f(int n)
{
int a;
a=n;
return ::a;
}
void main()
{
cout<<f(10);

}
最后屏幕输出就是100。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李龙VFu
2010-09-17 · TA获得超过119个赞
知道答主
回答量:137
采纳率:0%
帮助的人:65万
展开全部
在要用到全局变量名前加::(作用域标识符)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式