全局变量
概念:在函数或复合语句外定义的变量
作用范围:程序的所有地方
生命周期:程序运行的整个过程一直存在,知道程序结束
全局变量定义时如果不赋值直接使用,默认赋值为0
静态全局变量
定义全局变量时,前面用static修饰
作用范围:static限定了静态全局变量的作用范围,只能在定义的 .c 源文件中有效
生命周期与普通全局变量一样,程序运行的整个过程一直存在,知道程序结束
局部变量
概念:在函数或复合语句内部定义的变量
作用范围:在函数中定义的变量,在函数内有效;在复合语句中定义的变量在复合语句内有效
生命周期:函数或复合语句调用之前,局部变量不占用空间,调用函数时才为局部变量开辟空间,函数或复合语句结束时,局部变量释放
静态局部变量
定义局部变量时,前面加static修饰
作用范围和普通局部变量一样,在函数中定义的变量,在函数内有效;在复合语句中定义的变量在复合语句内有效
生命周期:第一次使用时,开辟空间赋值,函数或复合语句结束后不会释放,以后调用函数的时候,就不再为其开辟空间赋值,用的是之前的值