c语言static在函数里的作用(c语言static)
摘要 大家好,我是小典,我来为大家解答以上问题。c语言static在函数里的作用,c语言static很多人还不知道,现在让我们一起来看看吧!1、静态变...
大家好,我是小典,我来为大家解答以上问题。c语言static在函数里的作用,c语言static很多人还不知道,现在让我们一起来看看吧!
1、静态变量,就是在定义的时候,有static 修饰的变量,形式为
2、static TYPE var_name = init_value;
3、而动态变量,形式为
4、TYPE var_name = init_value;
5、即没有static 修饰。其中的=init_value均可省略。
6、区分定义在函数外的全局变量,和函数内的局部变量,作用域,生命周期,及无显式初始化时的初始值,均有区别。
7、1 动态全局变量:
8、作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量。
9、生命周期为从程序运行到程序退出,即贯穿整个运行时间。
10、无显式初始化时默认初始化值为0。
11、2 静态全局变量:
12、作用域为当前文件,从定义/声明位置到文件结尾。
13、生命周期为从程序运行到程序退出,即贯穿整个运行时间。
14、无显式初始化时默认初始化值为0。
15、3 动态局部变量:
16、作用域为当前函数,从定义位置,到其所在的{}的结束位置。
17、生命周期为从函数调用到函数退出。
18、无显式初始化时默认初始化值为随机值。
19、4 静态局部变量:
20、作用域为当前函数,从定义位置,到其所在的{}的结束位置。
21、生命周期为从程序运行到程序退出,即贯穿整个运行时间,当下次函数调用时,静态局部变量不会被再次初始化,而是沿用上次函数退出时的值。
22、无显式初始化时默认初始化值为0。
本文到此讲解完毕了,希望对大家有帮助。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。