首頁 >後端開發 >C++ >解釋C語言中變數的生命週期

解釋C語言中變數的生命週期

WBOY
WBOY轉載
2023-09-02 19:37:071591瀏覽

解釋C語言中變數的生命週期

儲存類別指定變數的範圍、生命週期和綁定。

要完整定義變量,不僅需要提及其“類型”,還需要提及其儲存類別。

變數名稱標識電腦記憶體中的某個物理位置,其中分配了一組位元來儲存變數的值。

儲存類別告訴我們以下因素 -

  • 變數儲存在哪裡(記憶體或CPU暫存器中)?
  • 如果沒有初始化,變數的初始值是多少?
  • 變數的作用域是什麼(可以存取變數的範圍)?
  • 變數的生命週期是多久?

生命週期

變數的生命週期定義了電腦為其分配記憶體的持續時間(記憶體分配和釋放之間的持續時間)。

在C語言中,變數可以具有自動、靜態或動態生命週期。

  • 自動 - 建立具有自動生命週期的變數。每一次,他們的宣言都會被遭遇並被摧毀。此外,它們的區塊也會退出。
  • 靜態 - 第一次執行宣告時會建立一個變數。當執行停止/終止時它會被銷毀。
  • 動態 - 變數記憶體透過記憶體管理函數分配和釋放。

儲存類別

C語言中有四種儲存類別-

tr>
#儲存類別 存儲區域 預設初始值 生命週期 範圍 #關鍵字
自動 記憶體 直到控制保持在區塊中 直到控制項保持在區塊中 本地 自動
暫存器 CPU暫存器 垃圾值 #直到控制保持在區塊中 本地 註冊
靜態 記憶體 #函數呼叫之間的值 本地 靜態
記憶體 垃圾值 整個程式執行 全域 外部

範例

以下是自動儲存類別的C程式-

 Live Demo

#include<stdio.h>
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

範例

以下是外部儲存類別的C 程式-

 現場演示

#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);
}

輸出

執行上述程式時,會產生以下輸出-

3 1

以上是解釋C語言中變數的生命週期的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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