C++數組與指針

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是個二維數組

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章