关于c语言auto变量和static变量区别

如题所述

自动变量(auto变量)和静态变量(static变量)主要有以下几点区别:

1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。


2、static变量只赋值一次,以后就不用赋值;而auto变量在函数每调用一次都要赋初值。


3、如果用户不对static变量赋初值,则默认为0或'\0';而auto变量为不确定值。

扩展资料:

auto变量

自动变量(Automatic Variable)指的是局部作用域变量,具体来说即是在控制流进入变量作用域时系统自动为其分配存储空间,并在离开作用域时释放空间的一类变量。

在许多程序语言中,自动变量与术语“局部变量”(Local Variable)所指的变量实际上是同一种变量,所以通常情况下“自动变量”与“局部变量”是同义的。

参考资料来源:百度百科-自动变量

温馨提示:答案为网友推荐,仅供参考
相似回答