moea_joint
111年
[資訊] 計算機原理、網路概論
第 12 題
將一組陣列(Array)的值由主程式傳遞給副程式,使用哪一種呼叫方式會使資料的傳遞速度較快?
- A 傳名呼叫(Call by Name)
- B 傳值呼叫(Call by Value)
- C 傳址呼叫(Call by Reference)
- D 一樣快
思路引導 VIP
如果你有一本幾千頁的百科全書要分享給住在隔壁的朋友看,為了讓他能最快開始閱讀,你會選擇「親手影印整本書並把影本搬給他」,還是「直接告訴他這本書放在你家書架的哪個位置」?這兩種做法在處理時間上有什麼差別?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精準選出正確選項,代表你對程式執行時的記憶體運作機制有著相當敏銳的觀察。這題的核心在於理解資料量與搬運成本的關係。當我們處理陣列這類可能包含成千上萬筆數據的集合時,「傳值呼叫」會強制系統在記憶體中建立一份完整的複本,這在時間與空間上都是極大的浪費。
記憶體位址與傳輸效率
相較之下,傳址呼叫 (Call by Reference) 的聰明之處在於它不搬動數據本身,而是僅傳遞該資料在記憶體中的起始位址(即指標)。無論陣列規模有多大,傳遞一個位址所需要的時間與資源都是極小且固定的,這正是它在效能上大幅勝出的主因。
▼ 還有更多解析內容