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", c);// 因为c是myadd中定义的局部变量,这里会报错。printf("%d", f);// f是全局变量,这句是正确的。}
在C语言中,可以使用关键字`extern`来定义全局变量圆周率。首先,在一个源文件中定义圆周率变量,如`extern float pi = 3.14159;`。
然后,在其他源文件中使用`extern float pi;`来声明该变量。这样,其他源文件就可以访问和使用这个全局变量圆周率了。这种方式可以在整个程序中共享圆周率的数值,方便在不同的文件中使用。