能否请你在C程序中给出关键字"auto"的确切概念.
当我读完一本书"Deep C secrets"时,得到了以下引用.
auto关键字显然毫无用处.它只对在符号表中创建条目的编译器 - 写入器有意义 - 它表示此存储在进入块时自动分配(与全局静态分配或堆上的动态分配相反).Auto与其他程序员无关,因为默认情况下你会得到它.
Lau*_*ves 19
auto
不是数据类型.它是一个存储类说明符,就像static
.它基本上与static
在局部变量上使用时相反,并指示变量的生命周期等于其范围(例如:当它超出范围时,它会自动销毁).
您永远不需要指定auto
允许使用它的唯一地方,它也是默认值.
它可能在C89中有用,你有一个隐式的int规则.
void f() {
a = 0; // syntax error
auto b = 0; // valid: parsed as declaration of b as an int
}
Run Code Online (Sandbox Code Playgroud)
但是,你可以直接写int
而不是auto
.C99不再具有隐式int规则.所以我认为auto
不再有任何真正的目的了.它只是"默认的"存储说明符.