我有一个问题,索引一个2D矩阵声明为指针。 这就是我正在做的事情
Compute(int *matrix, int rows, int cols )
{
int i, j;
for(j = 1; j < cols; j++)
{
for(i = 0; i < rows; i++)
{
matrix[j][i] = 5; //what is wrong with this line?
}
}
}
错误:下标值既不是数组也不是指针
有任何帮助吗?
感谢
答案 0 :(得分:3)
对于2D数组指针应该是双指针数组(**matrix
)。在您的代码矩阵中,在函数参数中声明为单维(*matrix
)数组。它应该是**matrix
Compute(int **matrix, int rows, int cols )
{
int i, j;
for(j = 1; j < cols; j++)
{
for(i = 0; i < rows; i++)
{
matrix[j][i] = 5;
}
}
}