c++ - 二维数组

标签 c++ arrays multidimensional-array

我在作业中遇到一个问题,我使用以下方式定义二维数组:

// Allocating two two-dimensional matrix
int** matrix1 = new int*[rows];
for( int i=0; i!=rows; ++i )
matrix1[i] = new int[cols];
int** matrix2 = new int*[rows];
for( int i=0; i!=rows; ++i )
matrix2[i] = new int[cols];

我发现这种方法真的很难理解,即使在完成类(class)后,我也觉得这太令人困惑了。我在学期期间通过在互联网上找到一种更简单的方法来管理,但我真的很想知道这里到底发生了什么。

有人可以用尽可能简单的语言解释一下吗?谢谢!

最佳答案

我认为这张图片很好地解释了它是如何组合在一起的。 array 是您的矩阵之一。

enter image description here

matrix1 指向一个指针数组(行),其中每个指针指向一个整数数组(列)。

关于c++ - 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15961143/

相关文章:

c++ - 我可以将对象分配给整型变量吗?

c - 队列性能明智哪个是更好的实现 - 数组或链表

javascript - 获取数组的子项数

java - float[] x 和 float x[] 之间有区别吗?

multidimensional-array - lua:90: 尝试索引字段 '?' (零值)

当 "free"内存为零但备用内存仍然可用时,C++ 程序崩溃

c++ - 在 unordered_set 中存储多态对象

arrays - 字符串解析为数组的最佳算法

javascript - Angular 2.0 和 TypeScript - 从多维数组对象填充 <select> 选项

c++ - 流迭代器 - 字节流