所在的位置: C++ >> C++资源 >> c语言中auto是什么意思

c语言中auto是什么意思

c语言中auto是一个关键字,关键字主要用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。

auto是一个C/C++语言存储类型,仅在语句块内部使用,初始化可为任何表达式,其特点是当执行流程进入该语句块的时候初始化可为任何表达式。

C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字auto定义局部变量这一作法保持一致。

"auto"词语解释是:声明自动变量;

①自动变量指的是:局部作用域变量;

②局部作用域变量指的是:在控制流进入变量作用域系统时自动为其分配储存空间,并在离开作用域时释放空间的一类变量。

简单说:函数返回系统回收变量占储存空间;

注意点:

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

②默认情况下,在代码块内声明的变量都是自动变量,但亦可用自动变量的关键字auto明确标识储存类;

auto在c语言和C++的作用

在c++98中,auto是一个自动储存变量,并且同时也是申明一块临时的变量,但是在c++11标准中,auto是表示自动推断变量的类型,对关键词也有一个限定,就是要给申明赋予一个初始值的,不去设置的初始值,可能就会出现报错,在c++中引入auot有两种用途,分别是对返回值占位和自动类型进行推断,如下:

autox=5.2;//

其中x就是表示auto被推断成double

在c语言中,auto就是表示局部变量的关键词,并且也是要申明一个变量,例如:

autodoublea=3.7

a就是表示临时变量。

auto的使用注意事项

在使用auto的时候,我们可以使用一些valatile来进行修饰,但是声明变量必须要进行初始化,而是也不能和其他类型同时使用,当然函数的模板参数是不能同时声明auto,也不能用户类型转化和其他操作,当我们在定义一个auto序列的变量要推导成同一种类型。




转载请注明:http://www.aierlanlan.com/rzgz/6325.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了