c语言怎样声明和定义全局变量

 我来答
chinaboyzyq
2018-05-15 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3141万
展开全部

定义在函数体外部的变量叫全局变量,

要定义全局变量你只要把变量定义在

所有函数外部即可。

要注意的是,全局变量只对它定义位

置以下的函数可见。

#include<stdio.h> 

void f1();
void f2();
int y=100;
int main()
{

printf("%d\n\n",y);
//printf("%d\n",x);这不可以读x,x对main()不可见 
f1();
f2();
return 0;

}

int x;
void f1()
{
x=200;


void f2()
{
printf("%d\n",x);
printf("%d\n",y);
}
dh...4@sohu.com
2017-02-08 · 超过13用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:9.7万
展开全部
1、全局变量的定义和普通变量的定义相同,只是在别的cpp文件中使用前需要用extern修饰符声明。2、extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangrong2
2011-11-23 · TA获得超过768个赞
知道小有建树答主
回答量:540
采纳率:100%
帮助的人:275万
展开全部
extern是声明
只有涉及多个文件的全局变量才需要使用extern
比如,当文件a,b都需要访问一个全局变量val时,就要在文件a,b中声明如下
extern int val;

如果只是在同一文件中使用这个全局变量就不需要extern了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yleek
2011-11-17 · TA获得超过125个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:100万
展开全部
对,必须用extern声明,因为要涉及多个文件,不用extern的话会导致编译链接出现问题。不过不建议用全局变量,面向对象要求低耦合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友25882f8
2011-11-19 · 超过29用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:61.1万
展开全部
如果要是你只编写一个C文件的话,全局变量在main 函数和其他定义的函数之外定义就行啦;
但如果涉及到两个或者两个以上的C文件,定义全局变量要用到extern
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式