C语言动态变量和静态变量的区别
2017-11-27 20:21
393 查看
静态变量,就是在定义的时候,有static 修饰的变量,形式为 static TYPE var_name = init_value; 而动态变量,形式为 TYPE var_name = init_value; 即没有static 修饰。其中的=init_value均可省略。 区分定义在函数外的全局变量,和函数内的局部变量,作用域,生命周期,及无显式初始化时的初始值,均有区别。 1 动态全局变量: 作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量。 生命周期为从程序运行到程序退出,即贯穿整个运行时间。 无显式初始化时默认初始化值为0。 2 静态全局变量: 作用域为当前文件,从定义/声明位置到文件结尾。 生命周期为从程序运行到程序退出,即贯穿整个运行时间。 无显式初始化时默认初始化值为0。 3 动态局部变量: 作用域为当前函数,从定义位置,到其所在的{}的结束位置。 生命周期为从函数调用到函数退出。 无显式初始化时默认初始化值为随机值。 4 静态局部变量: 作用域为当前函数,从定义位置,到其所在的{}的结束位置。 生命周期为从程序运行到程序退出,即贯穿整个运行时间,当下次函数调用时,静态局部变量不会被再次初始化,而是沿用上次函数退出时的值。 无显式初始化时默认初始化值为0。
相关文章推荐
- 动态变量和静态变量的区别
- 【C语言】【unix c】静态变量和自动变量的区别
- 动态变量和静态变量的区别,堆和栈的区别
- C语言再学习之:局部变量,局部静态变量,全局变量和全局静态变量的区别
- 动态变量和静态变量的区别,堆和栈的区别
- 动态变量和静态变量的区别,堆和栈的区别
- 动态变量和静态变量的区别,堆和栈的区别
- 动态变量和静态变量的区别,堆和栈的区别
- 【C语言】局部变量、全局变量,局部静态变量,全局静态变量,extern,static的区别
- 动态变量和静态变量的区别,堆和栈的区别
- 请问在C语言中静态变量Staic与外部变量extern有什么区别
- 【心得】在C#中使用静态变量const和动态变量readonly的区别
- 静态变量与动态变量的定义与区别
- 动态变量与静态变量的区别
- C语言 静态变量与自动变量的区别
- 【C语言】局部变量、全局变量,局部静态变量,全局静态变量,extern,static的区别
- 动态变量和静态变量的区别
- php中的静态变量和动态变量的区别--框架加载变量时运用
- C语言中的静态变量和普通变量的区别
- 【面试】动态变量与静态变量的区别