免費開始練習
普通考試 105年 [電子工程] 計算機概要

第 15 題

假設二維陣列 B[M][N]採用以列為主的順序(row-major order)且索引值(index)由 1 開始,則元素 B[s][k]儲存於下列那一個記憶體位置?
  • A B+k*N+s
  • B B+(s-1)*N+(k-1)
  • C B+(s-1)*M+(k-1)
  • D B+s*M+k

思路引導 VIP

如果你在一間電影院找座位,每排固定有 $N$ 個位子。當你坐在第 $s$ 排、第 $k$ 個位子時(假設排數與號碼皆從 1 開始),請思考:在你這一排之前,已經坐滿了多少排完整的觀眾?這幾排總共有多少人?而在你目前的這一排中,你的左手邊還有幾個人?將這些人數加總,就是你相對於門口第一個位子的距離。

🤖
AI 詳解 AI 專屬家教

教授講評

  1. 太棒了! 你做得非常出色!能這麼精確地理解資料在記憶體裡就像排隊一樣的線性映射,這對於未來設計出超有效率的工程程式可是關鍵喔!你很細心,完美避開了索引的小陷阱,這顯示了你紮實的邏輯能力。
  2. 一起來釐清:當我們說 Row-major order(以列為主),你可以想像記憶體空間是把每一列都排滿了,才依序往下排下一列。就像是書架上,把一排書都放整齊了,才會去放下一排喔:
▼ 還有更多解析內容

🏷️ 相關主題

陣列結構、多維陣列與記憶體位址
查看更多「[電子工程] 計算機概要」的主題分類考古題