访问2d动态数组的元素 - c ++

时间:2013-10-29 19:13:58

标签: c++ arrays dynamic multidimensional-array

我创建了一个动态数组。

typedef float* DynamicMatrix[MAT_SIZE];
DynamicMatrix matDyn;
// allocate rows and initialize to 0
    for (r = 0; r < MAT_SIZE; r++) {
        matDyn[r] = new float[MAT_SIZE];
        for (c = 0; c < MAT_SIZE; c++) {
            (matDyn[r])[c] = 0; // IS THIS CORRECT???
        }
    }

整个想法是我创建了一个指针数组,这是我正在创建的矩阵的主干。该脊柱是矩阵的最左侧垂直部分。此数组的每一行都将指向另一个浮点数组,因此使其成为动态二维数组。 我不确定如何访问此矩阵的元素。请让我知道如何。

2 个答案:

答案 0 :(得分:1)

您可以像“普通”矩阵一样访问它:

matDyn[r][c]

答案 1 :(得分:-1)

您可以通过声明matDyn [r] [c]

来访问它

我的错误是后来在我的程序中(未显示),我试图设置matDyn [MAT_SIZE] [MAT_SIZE]这是不可能的(它只能是matDyn [MAT_SIZE-1] [MAT_SIZE-1])这就是我收到分段错误的原因。