我创建了一个动态数组。
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???
}
}
整个想法是我创建了一个指针数组,这是我正在创建的矩阵的主干。该脊柱是矩阵的最左侧垂直部分。此数组的每一行都将指向另一个浮点数组,因此使其成为动态二维数组。 我不确定如何访问此矩阵的元素。请让我知道如何。
答案 0 :(得分:1)
您可以像“普通”矩阵一样访问它:
matDyn[r][c]
。
答案 1 :(得分:-1)
您可以通过声明matDyn [r] [c]
来访问它我的错误是后来在我的程序中(未显示),我试图设置matDyn [MAT_SIZE] [MAT_SIZE]这是不可能的(它只能是matDyn [MAT_SIZE-1] [MAT_SIZE-1])这就是我收到分段错误的原因。