民國113年 第2梯次 電腦軟體設計丙級 學科

第34題

對C 語言變數生命週期的敘述,下列何者正確?

題目

對C 語言變數生命週期的敘述,下列何者正確?

  1. (1) 自動變數(Automatic)的宣告不佔記憶體空間
  2. (2) 自動變數在函數執行時產生,執行後消失
  3. (3) 靜態變數在該函數執行完後即消失
  4. (4) 靜態變數(Static) 的值永遠不變

官方答案

(2) 自動變數在函數執行時產生,執行後消失

解析

自動變數(Automatic variable)通常以auto宣告(在區塊或函數內未加static時多為自動),其儲存空間在進入函數或區塊時配置,離開函數或區塊時自動釋放,生命週期僅限該執行期間。靜態變數(Static variable)則在程式開始執行時配置記憶體,生命週期持續至程式結束,但其可見範圍仍受宣告位置限制;其值會保留,不會在函數結束後消失且不代表永遠不變(可在函數內重複賦值改變)。因此正確敘述為選項2。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料