C语言关键字浅析-auto

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Johan_Joe_King/article/details/83584783

### 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第五版》

猜你喜欢

转载自blog.csdn.net/Johan_Joe_King/article/details/83584783