一直搞不明白各种变量的区别,特意查资料总结了一下,可能不是太详细,仅供参考:
局部变量和全局变量、动态变量和静态变量的区别:
1、 局部变量:定义在函数内部,函数结束,局部变量消失
2、 全局变量:
- 定义在函数外部
- 定义在函数内部,前面要加extern作用于整个源程序
3、 静态变量:变量前加static
- 分配给变量的内存一直存在,直到整个程序结束
- 被限制了作用域:只在定义该变量的源程序内有用,在同一程序的其它源文件内不能使用
- Static变量只能初始化一次,防止被其它源文件调用
4、 动态变量(自动变量):局部变量只要不加static,都是动态变量auto。