問題詳情

8 在 C 語言程式中,宣告於函數(function)內的變數(未加 static 修飾字)會被配置於那個記憶體區段?

(A) code segment
(B) data segment
(C) stack segment
(D) heap segment

參考答案

答案:C
難度:困難0.4
書單:沒有書單,新增

用户評論

老張】評論

記憶體的功能是提供處理器存取資料,在需要的時候再來存取。C有分配記憶體如下:static / global 用來儲存全域變數,整個程式生命週期都會存在。stack 的部分是用來儲存函式的呼叫與區域變數的資訊,通常在函式結束時空間會被釋放,特點有下:stack 通常由 CPU 管理,程式無法去修改。變數會自動被配置,而且不用時會自動被 free。如果太多資料存在 stack 可能導致 stack overflow (例如遞迴層數太深等)。heap 是可以用來存動態分配的記憶體,特點有下:通常由程式來管理。可能導致 memory leap。C語言可以透過 malloc(), free() 等函式來配置或移除。code 是存放程式所需要的指令。根據題意,選C