1. 程式人生 > >C語言關鍵字淺析-auto

C語言關鍵字淺析-auto

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