C语言中如何定义全局变量?

 我来答
人人哦哦哦课
高粉答主

2019-05-10 · 醉心答题,欢迎关注
知道答主
回答量:2241
采纳率:0%
帮助的人:29.6万
展开全部

1、首先,我们可以在函数外面定义变量,就是全局变量

2、局部变量可以与全局变量同样命名。

3、但是优先级是局部变量优先。

4、但是局部变量的生命周期是整个结构内。

5、全局变量是整个程序结束,才释放。

6、我们也可以为变量加上修饰符。

Rumblet
推荐于2016-09-01 · TA获得超过567个赞
知道小有建树答主
回答量:231
采纳率:100%
帮助的人:61.5万
展开全部

c语言中全局变量主要是定义在所有函数之外的变量,在程序执行的过程中一直有效,可以被任何函数引用、赋值,想要定义它,一般将其定义在主函数main()之外就行。


例如下面的程序段,变量m就是一个全局变量,定义在主函数main()外面,它可以被函数fun_1访问,也可以被fun_2访问。

#include <stdio.h>
int m;
int main()
{
     fun_1();
     fun_2();
     return 0;
}
void fun_1()
{
    //可以使用m
}
void fun_2()
{
   //可以使用m
}


全局变量,"程序的编译单位是源程序文件,一个源文件可以包含一个或若干个函数。在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量(也称全程变量)。全局变量可以为本文件种其他函数所共用。它的有效范围为从定义变量的位置开始到本源文件结束。"设置全局变量的作用是增加函数间数据联系的渠道。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不只是道具0405
推荐于2017-11-21 · 超过51用户采纳过TA的回答
知道答主
回答量:111
采纳率:100%
帮助的人:91.7万
展开全部
众所周知,全局变量在被定义后,系统会为全局变量分配内存并且它还可以被其他模块通过C语言中extern关键字调用。这样就必须在 xx.C 和xx.H 文件中定义。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
应骏化宇达
2019-04-17 · TA获得超过3753个赞
知道大有可为答主
回答量:3141
采纳率:27%
帮助的人:422万
展开全部
当然是合法的了,不过也不能乱用,定义对了,也得用对,比如
你要是定义了(int
)型的就不能把它当成是char(字符型)的来用,所以你要得反复看你变出来的程序,看看是不是有错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
2018-05-15 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3004万
展开全部

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

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

所有函数外部即可。

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

置以下的函数可见。

#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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式