2014-01-25 87 views
1

這裏是我研究過的2維數組的代碼,我也知道指向指針的指針,但是我無法可視化2d數組指針。請幫助我理解二維數組的動態分配。動態分配超過1維數組

int **arr = new int*[size1]; 
for(int i = 0; i < size1; ++i) { 
    arr[i] = new int[size2]; 
} 

請不要只是代碼,請通過解釋或視覺解釋。

+0

[這裏的答案](http://stackoverflow.com/questions/8653017/two-dimensional-array-via-pointer)有一張照片,可以幫助你。 –

+0

請注意,二維數組和一維數組的數組並不完全相同 - 一個區別是「真正的」二維數組保證是矩形的(因爲它是一個連續的單個內存塊),而1D數組的陣列可能是「粗糙的」(如果你想的話,你可以分配不同長度的各種一維數組)。您發佈的代碼分配一個指針數組,然後爲每個指向這些指針的指針分配一個1D數組。 –

回答