我知道,很多人被告知它,但我無法找到我需要的明確參考。通過指針訪問多維數組
我需要一個結構成員,它將指向一個二維數組。數組大小不固定,結構的每個實例都將指向具有不同大小的數組。
我想到了以下方法:
struct towDimByPtr
{
int NumRow;
int NumCol;
int* ptr2TwoDim;
};
然後,我將有全局:
int arr1[30][90];
int arr2[20][10];
towDimByPtr towDim1;
towDimByPtr towDim2;
在初始化我會做到:
towDim1.ptr2TwoDim = arr1;
towDim1.NumRow = 30;
towDim1.NumCol = 90;
towDim2.ptr2TwoDim = arr2;
towDim2.NumRow = 20;
towDim2.NumCol = 10;
最後訪問的時我將使用的元素:
towDim1[curr_row*NumCol + curr_col]
我的問題:這會一直工作嗎?
C和C++是[行 - 主要順序](http://en.wikipedia.org/wiki/Row_major)語言,所以只要你堅持,它應該工作。但我不會推薦使用它,因爲它很混亂。 –
@JoachimPileborg,謝謝。你能否提供一個參考? – Subway