1、數組名字與指針
靜態數組是一列連續存儲的對象,數組名字是指向數組第一個元素的指針常量,因而具有內部元素指針類型。比如int p[4], p可以作爲int* 類型看。要特別注意的是,多維數組在內存中仍是線性存儲,本質上與一維數組無異,例如int p[4][5]就可以理解爲int p[20],多維數組名字p指向的仍只是int,而不是指向int[5],p仍然只能被看作int* 類型,而不是int**類型。
2、多維數組做函數參數
譬如要將int p[4][5][6]傳入一個函數,那麼這個函數的形參可以爲int* q或int s[][5][6],函數內數組元素的訪問方式爲:
p[i][j][k]=*(q+i*5*6+j*6+k)=s[i][j][k]
3、多維數組的動態分配
必須一個維度一個維度地分配,高維數組的元素爲指向低維數組元素的指針(與靜態多維數組的存儲結構是不同的)。如
int** double=new int* [4];
for(int i=0;i<4;++i) {
double[i]=new int[5];
}
double是個二維數組