首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C 語言 auto 關鍵字:區塊域變數與遮蔽效果示範

     編輯:關於C

程式碼

#include <stdio.h>

int main(void) {
    int num = 2;
    for (int i = 0; i < 3; ++i) {
        printf("外層 num = %d\n", num);
        ++num;
        {
            auto int num = 1;   // 內層區塊新變數,遮蔽外層 num
            printf("內層 num = %d\n", num);
            ++num;              // 僅修改內層變數
        }
        /* 離開內層區塊,內層 num 銷毀,外層 num 可見 */
    }
    return 0;
}

執行結果

外層 num = 2
內層 num = 1
外層 num = 3
內層 num = 1
外層 num = 4
內層 num = 1

解析

  • auto 為 C 預設儲存類別,明確寫出僅為強調「自動儲存期、區塊作用域」。
  • 內層 auto int num 遮蔽外層同名變數,兩者互不干擾。
  • C++11 後 auto 改為型別推導關鍵字,C 語言仍保留原意。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved