1、全局变量
全局变量具有全局的作用域,在一个源文件里定义全局变量,则所有源文件都可以访问这个变量,直到程序结束全局变量才被销毁。
2、静态全局变量
静态全局变量与全局变量的区别是限制了作用域,只有定义变量的源文件可以访问,其它源文件不能访问。
3、局部变量
局部变量在程序运行期间不是一直存在的,只有函数被访问的时候才会定义,函数运行完就被销毁。
4、静态局部变量
静态局部变量与局部变量的区别在于静态局部变量只初始化一次,函数运行完也不会被销毁,直到程序结束。
静态变量放在静态存储区,全局可见,直到程序运行结束。下一次访问的时候还保留原来的值。
从作用域看:全局变量>静态全局变量>静态局部变量>局部变量