面试总结之C语言的静态变量、全局变量、局部变量

来源:互联网 发布:sql server error 40 编辑:程序博客网 时间:2024/06/05 05:05

1、全局变量

全局变量具有全局的作用域,在一个源文件里定义全局变量,则所有源文件都可以访问这个变量,直到程序结束全局变量才被销毁。

2、静态全局变量

静态全局变量与全局变量的区别是限制了作用域,只有定义变量的源文件可以访问,其它源文件不能访问。

3、局部变量

局部变量在程序运行期间不是一直存在的,只有函数被访问的时候才会定义,函数运行完就被销毁。

4、静态局部变量

静态局部变量与局部变量的区别在于静态局部变量只初始化一次,函数运行完也不会被销毁,直到程序结束。

静态变量放在静态存储区,全局可见,直到程序运行结束。下一次访问的时候还保留原来的值。

从作用域看:全局变量>静态全局变量>静态局部变量>局部变量

0 0