司法三等申論題
105年
[檢察事務官電子資訊組] 程式語言
第 一 題
📖 題組:
請說明下列之變數生命期(Variable lifetime),並利用 C 語言舉例說明: (一) Explicit heap-dynamic(5 分) (二) Static(5 分) (三) Stack-dynamic(5 分)
請說明下列之變數生命期(Variable lifetime),並利用 C 語言舉例說明: (一) Explicit heap-dynamic(5 分) (二) Static(5 分) (三) Stack-dynamic(5 分)
📝 此題為申論題,共 3 小題
小題 (一)
Explicit heap-dynamic(5 分)
思路引導 VIP
看到此題,應立刻想到記憶體配置的四種分類。針對 Explicit heap-dynamic,關鍵字為「堆積(Heap)」、「明確指令(Explicit)」、「指標(Pointer)」,並需舉出 malloc 與 free 的使用,最後補充其帶來彈性但也伴隨記憶體洩漏風險的優缺點。
小題 (二)
Static(5 分)
思路引導 VIP
看到「Static變數生命期」,應立即聯想到「與程式執行期等長」的核心概念。答題時需依序點出記憶體區段(Data/BSS segment)、配置與釋放時機,並透過 C 語言中『全域變數』或『加上 static 關鍵字的區域變數』來舉例,最後補充其對空間效率與遞迴/執行緒安全的影響以獲取高分。
小題 (三)
Stack-dynamic(5 分)
思路引導 VIP
看到「Stack-dynamic」,應立刻聯想到「區域變數(Local variables)」。作答時需明確點出其記憶體配置於堆疊區(Stack),生命週期與函式或區塊的執行緊密綁定(進入時配置、離開時自動釋放),並輔以包含註解說明的 C 語言程式片段,最後分析其支援遞迴但可能有額外執行負擔的優缺點。