陣列在記憶體中的表示法:一維陣列[索引值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