一、变量的作用域
1.局部变量的作用域
局部变量的作用域是局部变量所在的范围以内
例如:
#include<stdio.h>
int main()
{
int a = 20;
int b = 10;
int c = a + b;
printf("%d\n", c);
return 0;
}
printf("%d", c);
main函数花括号以内的叫作局部变量,出了花括号以外使用printf的话编译器会报错,因为c是在main函数里面属于局部变量所以报错。
2.全局变量的作用域
全局变量的作用域是整个工程
例如:
#include<stdio.h>
int c = 2023;
void test()
{
printf("%d\n", c);
}
int main()
{
printf("%d\n", c);
test();
return 0;
}
此时的c是全局变量即可以在main函数里打印也能在test函数里打印 。
当然全局变量也是可以跨文件使用的。
注意:在跨文件使用全局变量时要使用extern声明一下这个全局变量,不声明的话这个全局变量是用不了的。
二、变量的生命周期
1.局部变量的生命周期
局部变量的生命周期是进入局部变量生命周期开始,出了局部变量生命周期结束
2.全局变量的生命周期
全局变量的生命周期就是程序的生命周期,程序开始-全局变量的生命周期也就开始,程序结束-全局变量的生命周期也就结束了。
总结
局部变量和全局变量的作用域:一个是只能在局部变量里使用,一个是整个工程都可以使用,跨文件使用全局变量时要声明一下全局变量。
局部变量和全局变量的生命周期:一个是进入局部变量生命周期开始,出局部变量生命周期结束。一个是程序执行生命周期开始,程序结束生命周期结束。