1.如果没有给全局变量和静态局部变量进行初始化赋值,全局变量与静态局部变量一样,默认值为数字0(ASCII码为48);
2.非静态的局部变量没有初始化时,该变量的值是一个随机数,必须要赋值后才可以安全使用,所以最好初始化。
3.全局变量是定义在函数外(可以任何函数外,包含main函数)从定义处开始往下存在,存储在内存的静态存储区。函数内部定义的局部变量与全局变量重名时,函数在使用该变量的时候会以局部变量覆盖全局变量。也就是只有局部变量会起效果。在此定义域中赋值等操作时都不会使用到全局变量。当局部变量结束之后,依然使用全局变量。(局部变量的赋值不会影响全局变量的值。)
4.局部变量只能定义在函数的内部,函数结束即释放。如果不想让局部变量释放,可以在局部变量的前面添加static变成静态局部变量,函数结束之后不会被释放。数值依然保存。
理解未初始化变量行为:全局变量、静态局部与局部变量的区别
本文详细解释了未初始化全局变量、静态局部变量和普通局部变量的行为差异。全局变量默认为0,非静态局部变量是随机值,必须初始化。局部变量在函数内覆盖全局,静态局部持久存储。了解这些有助于避免潜在的运行时问题。
6957

被折叠的 条评论
为什么被折叠?



