微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

​静态变量和动态变量

静态变量和动态变量

静态变量

就是在定义的时候,有static修饰的变量,形式为

static TYPE var_name = init_value;

动态变量,形式为

TYPE var_name = init_value;

即没有static 修饰。其中的=init_value均可省略。

区分定义在函数外的全局变量,和函数内的局部变量,作用域生命周期,及无显式初始化时的初始值,均有区别。

1 动态全局变量

作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量

生命周期为从程序运行到程序退出,即贯穿整个运行时间。

无显式初始化时认初始化值为0。

2 静态全局变量

作用域为当前文件,从定义/声明位置到文件结尾。

生命周期为从程序运行到程序退出,即贯穿整个运行时间。

无显式初始化时认初始化值为0。

3 动态局部变量:

作用域为当前函数,从定义位置,到其所在的{}的结束位置。

生命周期为从函数调用函数退出

无显式初始化时认初始化值为随机值。

4 静态局部变量:

作用域为当前函数,从定义位置,到其所在的{}的结束位置。

生命周期为从程序运行到程序退出,即贯穿整个运行时间,当下次函数调用时,静态局部变量不会被再次初始化,而是沿用上次函数退出时的值。

无显式初始化时认初始化值为0。

推荐课程:C语言教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐