民國113年 第2梯次 電腦軟體設計丙級 學科
第34題
對C 語言變數生命週期的敘述,下列何者正確?
題目
對C 語言變數生命週期的敘述,下列何者正確?
- (1) 自動變數(Automatic)的宣告不佔記憶體空間
- (2) 自動變數在函數執行時產生,執行後消失
- (3) 靜態變數在該函數執行完後即消失
- (4) 靜態變數(Static) 的值永遠不變
官方答案
(2) 自動變數在函數執行時產生,執行後消失
解析
自動變數(Automatic variable)通常以auto宣告(在區塊或函數內未加static時多為自動),其儲存空間在進入函數或區塊時配置,離開函數或區塊時自動釋放,生命週期僅限該執行期間。靜態變數(Static variable)則在程式開始執行時配置記憶體,生命週期持續至程式結束,但其可見範圍仍受宣告位置限制;其值會保留,不會在函數結束後消失且不代表永遠不變(可在函數內重複賦值改變)。因此正確敘述為選項2。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。