### C语言关键字浅析系列 ###
### ISO/ANSI C 关键字 ###
从C语言的关键字的字母序上看,auto关键字一般都是排在第一个的
但这并不能说明它是编码过程中编写的最多的关键字
也许你打continue的速度比打一个auto还快上几毫秒
为什么我不愿意直接说它不是使用的最多的关键字
是因为我们其实一直也在隐式地用它
auto的作用是:
声明自动存储类,可以做存储类说明符。
我们先回顾一下C语言中的5种存储类:
自动、寄存器、具有外部链接的静态、具有内部链接的静态、空链接的静态
其中自动变量就是使用auto关键字修饰的
属于自动存储类的变量具有自动存储时期、代码块作用域、空链接
而且在默认情况下
在代码块或函数的头部定义的任意变量都是自动存储类
所以可以说你可能不清楚auto关键字
但当你接触到C语言的存储类方面的知识的时候
你就会发现原来一直以来
你自定义的index们、i们、getMaxValue()们
他们可能还有一顶同样的帽子
叫auto
auto关键字还可以称之为存储类说明符(storage class specifier)
用于表明不能把变量改变为其他存储类,而且这一点很重要时
可以当做一种声明使用
#include<stdio.h>
int main(void)
{
int index; // 这是我们习惯上的定义写法
auto int value; // 其实这里的value和上面的index在存储类上看都是auto的
// 默认的都是自动存储类
index = 1;
value = 10;
return 0;
}
——参考《C Primer Plus第五版》
相关文章: