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

如题所述

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-01

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
}


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

第2个回答  推荐于2017-11-21
众所周知,全局变量在被定义后,系统会为全局变量分配内存并且它还可以被其他模块通过C语言中extern关键字调用。这样就必须在 xx.C 和xx.H 文件中定义。本回答被网友采纳
第3个回答  2019-04-17
当然是合法的了,不过也不能乱用,定义对了,也得用对,比如
你要是定义了(int
)型的就不能把它当成是char(字符型)的来用,所以你要得反复看你变出来的程序,看看是不是有错。
第4个回答  2018-05-15

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

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

所有函数外部即可。

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

置以下的函数可见。

#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);
}