C语言中全局变量,局部变量,静态局部变量的区分方式
作者:Majisk
这篇文章主要介绍了C语言中全局变量,局部变量,静态局部变量的区分方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
全局变量,局部变量,静态局部变量的区分
1.如果没有给全局变量和静态局部变量进行初始化赋值
全局变量与静态局部变量一样,
默认值为数字0(ASCII码为48)
2.非静态的局部变量没有初始化时
该变量的值是一个随机数,必须要赋值后才可以安全使用,所以最好初始化。
3.全局变量是定义在函数外(可以任何函数外,包含main函数)
从定义处开始往下存在,存储在内存的静态存储区。
函数内部定义的局部变量与全局变量重名时,函数在使用该变量的时候会以局部变量覆盖全局变量。
也就是只有局部变量会起效果。
在此定义域中赋值等操作时都不会使用到全局变量。
当局部变量结束之后,依然使用全局变量。(局部变量的赋值不会影响全局变量的值。)
4.局部变量只能定义在函数的内部,函数结束即释放
如果不想让局部变量释放,可以在局部变量的前面添加static变成静态局部变量,函数结束之后不会被释放。数值依然保存。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。