目录
作用域
定义:
程序设计概念,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
通俗来讲,一个变量在 哪里起作用(哪里可以使用)哪里就是它的作用域。
int main()
{
int m = 20;
printf("%d\n", m); // m 在 printf 中使用,那么 printf("%d\n", m)就是它的作用域
return 0;
}
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
在同一工程中,当一个源程序想引用另一个源程序的变量时,需使用 extern 声明。
extern 数据类型 变量名;
引用 g_val 变量
注:执行性代码要写在 { } 里
#include<stdio.h>
int a=10;
printf("%d",a); //是错误的,必须放在大括号里。变量的创建可以放在大括号外,但是执行性代码,如打
印一句话,变量赋值等等,必须要放在大括号里
int main()
{
int b = 20;
printf("%d\n",b);
return 0;
}
生命周期
定义:变量的生命周期指的是 变量的创建到变量的销毁之间的一个时间段。
1.局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。
进入局部范围生命周期开始,出局部范围生命周期结束。
int main()
{
{
int m = 20;
printf("%d\n", m);
}
printf("%d", m);// m 在这里不可使用,说明 m 的生命周期在出大括号的范围就结束了
return 0;
}
2.全局变量的生命周期:整个程序的生命周期。
全局变量在整个工程任意地方都可以使用。
一个程序的 main 函数 就是他的生命周期
因为一个程序从它的 main函数 开始执行一直到 return 0 结束,而全局变量在整个main函数都可以使用。
所以 程序的生命周期=全局变量的生命周期