仅在语句块内部使用,初始化可为任何表达式,其特点是当执行流程进入该语句块的时候初始化可为任何表达式。
成都创新互联公司主营天台网站建设的网络公司,主营网站建设方案,app软件开发公司,天台h5小程序设计搭建,天台网站营销推广欢迎天台等地区企业咨询
C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。
其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。
在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字auto定义局部变量这一作法保持一致。
扩展资料:
C语言
auto被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存。
例如:
1 auto double a=3.7;
表示a为一个自动存储的临时变量。
C++语言
C++ 98标准/C++03标准
同C语言的意思完全一样:auto被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存。
C++ 11标准
在C++11标准的语法中,auto被定义为自动推断变量的类型。例如:
auto x=5.2;//这里的x被auto推断为double类型
mapint,intm;
for(auto it=m.begin();//这里it被auto推断为mapint,int::iterator类型
it!=m.end();++it)
{
//....
}不过C++11的auto关键字时有一个限定条件,那就是必须给申明的变量赋予一个初始值,否则编译器在编译阶段将会报错。
参考资料:百度百科-auto
语言中包括了关键字auto,它可用于定义局部变量。但自从所有的非全局变量的缺省值假定为auto以来,auto就几乎很少使用了。
在c或者以前的c++中,auto关键字基本上可以被无视:比如这个局部变量:int
a
=
100;auto
int
a
=
100;并没有什么区别。
但是在vc2010中,auto已经有了新的含义,它可以对类型进行推断使得我们在使用的时候可以这样auto
a
=
100;那么a就是int类型,初始值为100。
auto型变量在函数被调用时,系统为其分配存储空间。auto型变量存储在内存的动态存储区,函数执行后释放存储空间。只有函数的局部变量才能定义为auto类型。在定义局部变量时,如果缺省存储类型,则系统将变量当做auto型处理,即默认为auto型变量。
static型变量存放在内存的静态存储区,在编译时为其分配存储空间并初始化。若没有赋值,则默认为0。在函数内定义的静态变量为静态局部变量,在函数外定义的静态变量为静态全局变量。static型局部变量不因函数结束而消失,当再次进入函数时,变量是上一次函数运行结束后的值。无论什么情况下,都不能被其它函数情况下调用。
1、首先在C语言软件中,auto变量可以存储整数类型,如下图所示。
2、定义了存储整数的auto变量之后,把它当作整数来使用输出变量的值。
3、auto变量也可以存储字符串,具体例子如下图所示的代码段。
4、调试运行的输出结果看,也是跟定义字符串类型输出的结果是一样的。
5、定义完成auto为lambda类型之后,就可以把auto类型当作函数来使用,如下所示,输出两个整数的和,就完成了。