根据变量的作用域,可以分为:
1.全局变量:在函数外面定义的变量
作用域:从定义变量的那一行开始,一直到文件结尾(能被后面的所有函数使用)
生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁
默认的初始值就是0
2.局部变量:在函数(代码块)内部定义的变量
作用域:从定义变量的那一行开始,一直到代码块结束
生命周期:从定义变量的那一行开始分配存储空间,代码块结束后,就会被回收
没有固定的初始值
注意:函数的形参也是局部变量
#include <stdio.h>
int age;//全局变量
void test()
{
age = 10;//局部变量
}
int main()
{
printf("%d\n", age);//由于age初始值为0,所以输出0
test();
printf("%d\n", age);//调用test函数,外部age赋值10,所以 输出10
return 0;
}
#include <stdio.h>
int age;//全局变量
void test()
{
int age;
age = 10;//局部变量
}
int main()
{
printf("%d\n", age);//由于age初始值为0,所以输出0
test();
printf("%d\n", age);//调用test函数,test里的新age消失,找外部的age,所以输出0
return 0;
}