我目前使用下面的代码来获取元素的当前行和列在一个二维int数组的列:让行/动态二维数组元素
const int num_rows = 5;
const int num_columns = 7;
int a[num_rows][num_columns];
int *p = &a[2][4];
int row = (p - &a[0][0])/num_columns;
int col = (p - &a[row][0]);
也能正常工作,但现在我需要更改代码以将行数和列数作为参数。据我所知,这意味着我需要动态创建二维数组:
int** ary = new int*[sizeX];
for(int i = 0; i < sizeX; ++i)
ary[i] = new int[sizeY];
如果我创建二维数组这样,上面的代码,找到行/列休息。我能做什么?
我认为我可以让它按照这种方式工作。这是一个更多的簿记,因为它确实是一维阵列,但我想这是我的情况的最佳选择。 – user987280