目录
12.1.1 全局变量
我们之前了解了,本地变量这个说法,也就是定义在函数内部的变量。与之对应的就是定义在函数外的变量——全局变量。
全局变量
- 定义在函数外面的变量,具有全局的生存期和作用域。(任何函数内部都可以使用它们,使用过后不会消失,更改后值永久改变)
#include<stdio.h>
int f(void);
int gALL=12;
int main()
{
printf("gALL = %d\n",gALL);
f();
printf("gALL now = %d\n",gALL);
return 0;
}
int f(void)
{
printf("gALL = %d\n",gALL);
gALL+=2;
printf("gALL now = %d\n",gALL);
return gALL;
}
此时显示gALL的值分别为12 12 14 14
初始化
- 没有初始化的全局变量自动赋0值,如果全局变量是指针类型,会自动得到NULL
- 只能用编译时刻已知的值来初始化全局变量,初始化发生在main函数之前
- 如:gALL=f();想用一个函数给全局变量赋值,这是不行的<