【linux c】一維至多維陣列名的的含義及其取地址的含義_學習筆記_011
阿新 • • 發佈:2019-01-06
1.一維陣列的陣列名
int a[3];
a:指標常量,儲存的是一維陣列首元素的地址;
&a:對一維陣列的陣列名取地址,表示一維陣列的地址;
*(&a):對一維陣列的地址取值等於陣列首元素的地址。
2.二維陣列的陣列名
int a[2][2];
*(*(a + i) j)
a + i:儲存的是二維陣列中第(i + 1)個一維陣列的地址;
*(a + i):表示二維陣列中第(i + 1)個一維陣列的首元素的地址;
*(a + i) j:表示二維陣列中第(i+ 1)個一維陣列的第(j + 1)個元素;
*(*(a + i) j) :表示二維陣列中第(i + 1)個一維陣列的第(j + 1)個元素的值。
3.三維陣列的陣列名
int a[2][2][2]
*((*(*(a + i) j) + k)
a + i:儲存的三維陣列中第(i + 1)個二維陣列的地址;
*(a + i):表示三維陣列中第(i + 1)個二維維陣列的首個一維陣列的地址;
*(a + i) j:表示三維陣列中第(i+ 1)個二維陣列的第(j + 1)個一維陣列的地址;
*(*(a + i) j) :表示三維陣列中第(i + 1)個二維陣列中第(j + 1)個一維陣列的首個元素的地址;
*(*(a + i) j) + k:表示三維陣列中第(i + 1)個二維陣列中第(j + 1)個一維陣列中第(k + 1)個元素的地址;
*((*(*(a + i) j) + k):示三維陣列中第(i + 1)個二維陣列中第(j+ 1)個一維陣列中第(k + 1)個元素的值。