→ tim77928:辛苦你了 06/06 23:44
※ 引述《castin (調整自己)》之銘言:
: ※ 引述《tim77928 (tim)》之銘言:
: : 這題答案多少呢?可以請各位高手解給我看嗎?這類型題目還沒碰過= =
: : 假設一個整數陣列宣告為int b[4][5][6], 一個整數的大小佔4Bytes, 此陣列的起始位址
: : 即b[0][0][0]的位址是在1000, 若此陣列是使用row major順序來儲存, 則b[2][3][4]的位址
: : 將會是_____, 若此陣列是使用color-major順序來儲存, 則b[1][2][3]的位址將會是_____.
: : 麻煩各位了
: row major是由左到右計算~~
: b[2][3][4]=1000+[(2-0)*6*7+(3-0)*7+(4-0)]*4
: =1000+(84+21+4)*4
: =1000+109*4
: =1000+436=1436
: column major是由右到左計算~~
: 以此類推!!
: 若有錯誤請高手修正!!謝謝!! ^ ^
謝謝上篇推文的高手~~
我知道自己的error在哪邊了!!
因為最近都在唸vb,因為這題才發現!!
c語言宣告在[]裡的是陣列的大小~~
c語言:
預設從0開始
宣告在[]內的是陣列大小
ex:宣告a[2] --> 陣列內容是:a[0]、a[1]
vb語言:
預設從0開始
[]內的數值意義與c語言不同
ex:宣告a[2] --> 陣列內容是:a[0]、a[1]、a[2]
此題是c語言
如果是Dim開頭的宣告就是vb!!
row major是由左到右計算~~
b[2][3][4]=1000+[(2-0)*5*6+(3-0)*6+(4-0)]*4
=1000+(60+18+4)*4
=1000+82*4
=1000+328=1328
謝謝大家的指正~~請多指教!!^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.118.180.107