對多維陣列的理解

2021-07-15 12:40:16 字數 1083 閱讀 2830

1.我們知道陣列名就是指標常量。下面我們來介紹陣列名的作用和用法

a.  int a[3];

這是乙個一維陣列

這是乙個二維陣列

*(*(a+i)+j):表示第i+1個一維陣列的第j+1個元素的值。*(*(a+0)+0)-->1

c.  int a[3][2][2];

這是乙個三維陣列a

*(*(*(a+i)+j)+k):表示第i+1個二維陣列的第j+1個一維陣列的第k+1個元素的值。

2.多維陣列在記憶體中的儲存也是一維陣列,抽象成多維陣列只是為了方便理解多維陣列。

#include int main()

; int *p = a; //指標不相容,但是只列印陣列的位址存放的值!

int i;

int j;

for(i = 0; i < 2; i++)

}for(i = 0; i < 4; i++)

return 0;

}

執行結果為:

[root@localhost 0725]# ./a.out 

a[0][0] = 0xbfdc45c8

a[0][1] = 0xbfdc45cc

a[1][0] = 0xbfdc45d0

a[1][1] = 0xbfdc45d4

a[0] = 1

a[1] = 2

a[2] = 3

a[3] = 4

由執行結果可知,陣列分配的是一塊連續的記憶體。並且陣列的儲存方式是很多個一維陣列連線成乙個大的一維陣列。

對多維陣列計算中axis的理解

以tf.reduce mean 為例 我這種理解其實就是對於上面加粗的對應元素的擴充套件,二維時候是axis 0是每行的第乙個元素求均值 第二個元素 axis 1是每列的第乙個元素求均值,第二個元素 擴充套件到多維其實也是一樣,我把多維矩陣理解成乙個樹狀圖,首先還是以簡單的二維矩陣為例 這樣乙個矩陣...

C語言之對多維陣列的簡易理解

在平常學習的過程中,必定會經常跟陣列打交道並且也經常使用陣列,不管是一維陣列也好還是多維陣列也罷,陣列可以說是時常出現。相比較而言,對一維陣列來說,理解以及使用都是輕車熟路。但是相比一維陣列,多維陣列的使用以及理解卻有些偏差。在此,我對多維陣列進行了簡易的理解。首先以一維陣列為例。要畫出乙個一維陣列...

JS對多維陣列排序

現有data陣列如下 var data 1,2,2 3,3,1 2,1,3 對data陣列按照陣列第三維數值進行排序 data.sort function x,y 其實是陣列依次將陣列元素複製給x,y,比如首先將data 0 賦給x,data 1 賦給y,然後用x 0 y 0 根據返回的值,如果返回...