首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言中的变量自动

问C语言中的变量自动
EN

Stack Overflow用户
提问于 2012-03-28 16:27:52
回答 2查看 8.2K关注 0票数 2

可能重复: 是否有理由在C/ C++中使用“auto”关键字?

我读到:

代码语言:javascript
复制
int i;

和

代码语言:javascript
复制
auto int i;

是等价物。如果是这样的话,在C中自动关键字的用途是什么?当auto更有用的时候有什么特殊的情况吗?或者没有汽车就无法实现的东西??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-28 16:29:55

自动在C中是隐式的,但是由于在实际代码中使用它的很少(从未读过),它的含义在C++11中已经发生了变化。

Auto只是指定了自动存储,这意味着变量在超出作用域时会消失。

票数 2
EN

Stack Overflow用户

发布于 2012-03-28 16:29:30

来自维基百科

C(称为自动变量)。默认情况下,代码块中声明的所有变量都是自动的,但这可以使用auto关键字显式显示。未初始化的自动变量有一个未定义的值,直到为它指定其类型的有效值为止。使用存储类寄存器而不是auto是对编译器在处理器寄存器中缓存变量的提示。除了不允许在变量或其任何子组件上使用引用操作符(&)之外,编译器还可以忽略提示。在C++中,当执行到达声明位置时调用自动变量的构造函数。当析构函数到达给定程序块的末尾时被调用(程序块被花括号包围)。此功能通常用于管理资源分配和取消分配,例如打开然后自动关闭文件或释放内存。见雷伊。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9911821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档