【问题标题】:Indexing 2-Dimentional Matrix (pointer style) - error: cant index索引二维矩阵(打印机样式) - 错误:无法索引
【发布时间】:2014-01-24 05:04:15
【问题描述】:

我在索引 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?
        }
    }
}

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

有什么帮助吗?

谢谢

【问题讨论】:

    标签: c arrays pointers matrix indexing


    【解决方案1】:

    对于二维数组,指针应该是双指针数组 (**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; 
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多