首頁 > 後端開發 > C++ > 主體

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

WBOY
發布: 2023-09-02 19:37:07
轉載
1556 人瀏覽過

解釋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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板