索引2维矩阵(指针样式) - 错误:无法索引

时间:2014-01-24 05:04:15

标签: c arrays pointers matrix indexing

我有一个问题,索引一个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?
        }
    }
}

错误:下标值既不是数组也不是指针

有任何帮助吗?

感谢

1 个答案:

答案 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; 
        }
    }
}