立即学习:https://edu.youkuaiyun.com/course/play/8088/174351?utm_source=blogtoedu
1. 局部变量
在一个函数内部定义的变量,只在本函数范围内有效
不同的函数可以使用相同的变量名,互不干扰
2. 复合语句
用大括号写一段代码,大括号括起来的内容即为复合语句,复合语句中定义的变量,只在复合语句(大括号中)中有效,离开复合语句,定义的变量内存被释放
int a,b;
{
int c;
c = a+b;//变量c就只在符合语句(大括号)内生效
}
3. 全局变量:在函数外定义的变量
有效范围:从定义变量的位置开始到本源程序文件结束
优点:增加了函数与函数之间的数据联系,如果一个函数中改变了全局变量的值,就能影响到其他函数
缺点:(1)全局变量在程序运行整个周期之间都占用内存;(2)降低了函数的通用性,若将函数迁移至另外一个文件,得将相关外部变量一起移植;(3)降低了程序的清晰性和可读性
如果某个函数想引用在他之后定义的全局变量,可以使用关键字extern做一个“外部变量说明”
extern int c1,c2;//不分配内存,表示某一个地方定义了c1,c2这两个全局变量
在同一个源文件中,如果全局变量和局部变量同名,则在局部变量作用范围内,全局变量不起作用(值也不会受到影响)