問題詳情

26. 給定以下 C 程式片段,請問下列哪兩個變數位於同樣的記憶體區段?


(A) a 和 b
(B) b 和 c
(C) a 和 c
(D) c 和 c [1]

參考答案

答案:B
難度:適中0.556
書單:沒有書單,新增

用户評論

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】在提供的程式片段中,變數 a 和 b 分別宣告在 main 函式的區塊內,而變數 c 則是宣告為指向整數的指標,並使用 malloc 函式分配了一塊大小為 10 個整數的記憶體區段。最後,使用 free 函式釋放了指標 c 所指向的記憶體。根據這個程式片段,變數 a 和 b 都是自動變數(automatic variables),它們位於函式 main 的區塊內,在函式被呼叫時創建,當函式結束時自動釋放記憶體。變數 c 則是一個動態分配的變數,使用 malloc 函式從堆(heap)中分配記憶體。這塊記憶體不會在函式結束時自動釋放,需要使用 free 函式手動釋放。總結起來,變數 a 和 b 位於相同的記憶體區段,都是函式 main 的區塊內的自動變數。變數 c 則位於另一個記憶體區段,是從堆中分配的動態變數。

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】在提供的程式片段中,變數 a 和 b 分別宣告在 main 函式的區塊內,而變數 c 則是宣告為指向整數的指標,並使用 malloc 函式分配了一塊大小為 10 個整數的記憶體區段。最後,使用 free 函式釋放了指標 c 所指向的記憶體。根據這個程式片段,變數 a 和 b 都是自動變數(automatic variables),它們位於函式 main 的區塊內,在函式被呼叫時創建,當函式結束時自動釋放記憶體。變數 c 則是一個動態分配的變數,使用 malloc 函式從堆(heap)中分配記憶體。這塊記憶體不會在函式結束時自動釋放,需要使用 free 函式手動釋放。總結起來,變數 a 和 b 位於相同的記憶體區段,都是函式 main 的區塊內的自動變數。變數 c 則位於另一個記憶體區段,是從堆中分配的動態變數。