數(shù)組存儲地址計算公式 數(shù)組名代表數(shù)組第一個元素的地址,二維數(shù)組三維數(shù)組也這樣嗎?
數(shù)組名代表數(shù)組第一個元素的地址,二維數(shù)組三維數(shù)組也這樣嗎?嚴(yán)格地說,數(shù)組名代表一個數(shù)組,但值等于第一個地址?!钡谝粋€地址”是第一個元素/第一個元素的地址,因此沒有“第一個元素的第一個地址”或“所有元素
數(shù)組名代表數(shù)組第一個元素的地址,二維數(shù)組三維數(shù)組也這樣嗎?
嚴(yán)格地說,數(shù)組名代表一個數(shù)組,但值等于第一個地址?!钡谝粋€地址”是第一個元素/第一個元素的地址,因此沒有“第一個元素的第一個地址”或“所有元素的第一個地址”
能詳細(xì)描述一下順序存儲的數(shù)組元素的存放地址的計算方法嗎?
元素a(ij)的存儲地址應(yīng)該是數(shù)組的基址加上a(ij)之前元素占用的單元數(shù)。因為a(ij)位于第i行和第j列,所以在前面的i-1行有(i-1)×n個元素,在第一行的a(ij)前面有j-1個元素,所以在a(ij)前面有(i-1)×n個j-1個元素。
因此,a(ij)的地址計算函數(shù)為:LOC(AIJ)=LOC(a11)[(i-1)*nj-1]*D。同樣,三維數(shù)組a(ijk)以“行優(yōu)先級順序”存儲,其地址計算函數(shù)為:LOC(aijk)=LOC(a111)[(i-1)*n*P(J-1)*P(k-1)]*D。以上討論假設(shè)數(shù)組的每個維數(shù)的下界為1。更一般的二維數(shù)組是[C1。。D1,C2。。D2],其中C1和C2不一定是1。在二維數(shù)組中,a(ij)之前總共有i-c1行,d2-c21列,因此i-c1行具有(i-c1)*(d2-c21)元素,并且在第i行的a(ij)之前有j-c2元素。
因此,a(ij)的地址計算函數(shù)是:LOC(AIJ)=LOC(ac1c2)[(i-c1)*(d2-c21)j-c2)]*D。
Excel能把三維數(shù)組的值直接賦值給單元格嗎?
你好!關(guān)于將數(shù)組賦給excel單元格,數(shù)組格式要寫得準(zhǔn)確,如:={1,2,34,5,67,8,9}這是一個三行三列的二維數(shù)組(同一行用半角逗號隔開,而新行應(yīng)該使用半角分號)這個二維數(shù)組可以直接賦給一個單元格:操作是選擇一個有三行三列的單元格區(qū)域,輸入={1,2,34,5,67,8,9}作為上公式位置,然后按Ctrl-Shift-enter鍵將數(shù)組賦給單元格。參見下圖。但是對于“三維”數(shù)組,Excel可以實現(xiàn)三維參照,即工作表的行、列是二維的,多個工作表一起構(gòu)成第三維(z方向)。但是,無法同時將三維數(shù)據(jù)指定給多個工作表中的多個行和列。我不確定你的三維概念是否和我的一致。如果你真的是一個三維數(shù)組,你只能用VBA實現(xiàn)一次賦值。如果您需要VBA來實現(xiàn)3D數(shù)組分配,請補(bǔ)充您的數(shù)組數(shù)據(jù)或樣本,我會再回復(fù)。