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

Python054

关于c语言auto变量和static变量区别,第1张

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

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

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

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

扩展资料:

auto变量

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

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

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

auto是一个C/++语言存储类型。auto被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存C/++。

C/++是一种获广泛使用的计算机编程语言。它是一种通用编程语言,支持多重编程模式,例如过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计和设计模式等。C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。

扩展资料

C/++名的由来

C/++这个名字是Rick Mascitti于1983年中所建议的,并于1983年12月首次使用。更早以前,尚在研究阶段的发展中语言曾被称为“new C”,之后是“C with Classes”。在计算机科学中C/++仍被称为C语言的上层结构。

它最后得名于C语言中的“++”运算符(其对变量的值进行递增)。而且在共同的命名约定中,使用“+”以表示增强的程序。斯特劳斯特鲁普说:“这个名字象征着源自于C语言变化的自然演进”。C+是一个和C/C++无关的早期编程语言。

参考资料来源:百度百科—auto