iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
自我挑戰組

資料結構面面觀系列 第 19

陣列如何在記憶體中表示 ?

  • 分享至 

  • xImage
  •  

陣列在記憶體中的表示法:一維陣列[索引值01

陣列是由一連串的記憶體組合而成,其陣列元素之儲存位址計算,大致上.可分為一維陣列與二維陣列來說明:

I. 一維陣列

[題目1]若陣列A有N個元素,其陣列的起始位址為Lo.並且索引值從0開始,d為元素大小,則A[i]的起始位置為多少?

令:

① Lo為起始位址

② d為元素大小

則A[i]之位置計算=Lo+i*d

陣列在記憶體中的表示法:一維陣列[索引值0]的例子

【舉例】假設每一個整數佔用2個byte,若A陣列的起始位址是100開始,則A[5]的起始位址為多少?

令:

①起始位址Lo=100

②元素大小d=2

則A[5]之位置計算=Lo+id=100+52=100+10=110

陣列在記憶體中的表示法:一維陣列[索引值非0]

[題目2]若陣列A的索引從L到U,其陣列的起始位址為Lo,d為元素大小,則A[i]的起始位置為多少?

宣告方式:A[L…U]

令:

① Lo為起始位址

②d為元素大小

則A[i]之位置計算=Lo+(i-L)*d

陣列在記憶體中的表示法:一維陣列[索引值非0]的例子

【舉例】假設每一個整數佔用2個byte,若A[10]起始位址是200開始•

則A[20]的位址為多少?

令:

① Lo起始位址=200

②d元素大小=2

則A[20]之位置計算=Lo+(i-L)*d=200+(20-10)2=200+102=220


上一篇
陣列儲存方式介紹
下一篇
矩陣介紹(上)
系列文
資料結構面面觀24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言