首頁 >後端開發 >C++ >C語言中的不同儲存類

C語言中的不同儲存類

PHPz
PHPz轉載
2023-09-15 11:45:061303瀏覽

C語言中的不同儲存類

問題

C語言中有哪些不同的儲存類別?用程式解釋它們。

解決方案

儲存類別被定義為存在於C程式中的變數或函數的作用域和生命週期。

儲存類別

C語言中的儲存類別如下:

  • auto
  • extern
  • static
  • register

自動變數/局部變數

  • 關鍵字 - auto
  • 也稱為局部變數
  • 作用域 -
    • 局部變數的作用域僅限於宣告它們的區塊內。

    • 這些變數在區塊內部宣告。

  • 預設值 - 垃圾值

#範例

 示範

#include<stdio.h>
void main (){
   auto int i=1;{
      auto int i=2;{
         auto int i=3;
         printf ("%d",i);
      }
      printf("%d", i);
   }
   printf("%d", i);
}

輸出

3 2 1

全域變數/外部變數

  • 關鍵字 - extern
  • 這些變數在區塊外宣告因此它們也稱為全域變數

  • 作用域 - 全域變數的作用域在整個程式中可用。

  • 預設值 - 零

範例

 即時示範

#include<stdio.h>
extern int i =1; /* this &lsquo;i&rsquo; is available throughout program */
main (){
   int i = 3; /* this &lsquo;i&#39; available only in main */
   printf ("%d", i);
   fun ();
}
fun (){
   printf ("%d", i);
}

輸出

31

靜​​態變數

  • 關鍵字 - static
  • 範圍 - 靜態的範圍變數的優點是它在整個程式中以及在函數呼叫之間保留其值。
  • 靜態變數只初始化一次。
  • 預設值 - 零
  • li>

#範例

 現場示範

#include<stdio.h>
main (){
   inc ();
   inc ();
   inc ();
}
inc (){
   static int i =1;
   printf ("%d", i);
   i++;
}

輸出

#
1    2    3

註冊變數

  • 關鍵字 − register
  • 暫存器變數的值儲存在CPU暫存器中,而不是儲存在記憶體中,正常變數儲存在記憶體中。

  • 暫存器是CPU中的暫存單元。

範例

 示範

#include<stdio.h>
main (){
   register int i;
   for (i=1; i< =5; i++)
      printf ("%d",i);
}

#輸出

1 2 3 4 5
#

以上是C語言中的不同儲存類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除