C语言全局变量,局部变量,静态局部变量的区分

  • Post author:
  • Post category:其他

1.如果没有给全局变量和静态局部变量进行初始化赋值,全局变量与静态局部变量一样,默认值为数字0(ASCII码为48);

2.非静态的局部变量没有初始化时,该变量的值是一个随机数,必须要赋值后才可以安全使用,所以最好初始化。

 

3.全局变量是定义在函数外(可以任何函数外,包含main函数)从定义处开始往下存在,存储在内存的静态存储区。函数内部定义的局部变量与全局变量重名时,函数在使用该变量的时候会以局部变量覆盖全局变量。也就是只有局部变量会起效果。在此定义域中赋值等操作时都不会使用到全局变量。当局部变量结束之后,依然使用全局变量。(局部变量的赋值不会影响全局变量的值。)

4.局部变量只能定义在函数的内部,函数结束即释放。如果不想让局部变量释放,可以在局部变量的前面添加static变成静态局部变量,函数结束之后不会被释放。数值依然保存。

 


版权声明:本文为prohub原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。