要定义全局变量你只要把变量定义在
所有函数外部即可。
要注意的是,全局变量只对它定义位
置以下的函数可见。
#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、记住一条就够了:在函数之外定义的变量就是全局变量。用static修饰的变量可以是全局的,也可以是局部的,所以说“用static修饰的变量是全局变量”是错误的。用static修饰的变量的生命周期与全局变量一样,但可见性仍分全局和局部。 2、全局变量在整个c文件中都能使用,而局部变量在其作用域内才能使用,举个例子: int f = 7// 这个是全局变量int myadd(int a, int b){int c = a + b// c是局部变量,只能在myadd中使用return c}int main(void){printf("%d\n", c)// 因为c是myadd中定义的局部变量,这里会报错。printf("%d\n", f)// f是全局变量,这句是正确的。}