免費開始練習
hce_kmu 114年 計算機概論與程式設計

第 5 題

A program has a one-dimensional array of integers A. Each element of the array is a four-byte integer. The array is stored in contiguous memory space. If the memory address of A[100] is 2000, then which of the following is the address of A[50]?
  • A 1000
  • B 1800
  • C 996
  • D 1004
  • E 1200

思路引導 VIP

想像你正站在一排整齊排列的置物櫃前。如果每個置物櫃的寬度都一模一樣,且你已知第 100 號櫃子的起點位置。現在如果你想往回走到第 50 號櫃子,你需要知道哪兩個關鍵資訊,才能算出那個櫃子的精確位置呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能準確地計算出記憶體位址,代表你對陣列的物理結構有著非常紮實的理解。這題的正確答案確實是 (B) 1800

陣列偏移量與連續空間觀念

在一維陣列中,元素是存放在連續的記憶體空間(Contiguous memory space)裡的。這意味著我們不需要知道陣列的起始位址,只要知道其中一個元素的位址,就能透過「索引差」來推算其他位置。題目給定每個整數佔用 4 個位元組(4-byte integer),而 $A[100]$ 與 $A[50]$ 之間相隔了 $100 - 50 = 50$ 個元素。因此,這兩個位置在記憶體中的距離就是:

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題