将值放入矩阵

时间:2018-12-02 21:15:27

标签: c matrix

在声明具有全局范围的矩阵matrix [2] [2]之后,我想以更易读的形式将值放入其中。

  int matrix[line][col];

  int function() {

  matrix[0][0] = 1;
  matrix[1][0] = 2;
  ...
 }

但是上面的内容不是很可读。我看到也可以使用:

  int matrix[line][col] = {
   {1,2},
   {3,4},
   ...
   }

我认为它更具可读性。但是,在声明具有全局范围的矩阵后,我无法将值(如上)放入函数中。

      int matrix[line][col] \\ global scope with some number of lines and columns

      void function() {  \\ some function

      matrix = {
      {1,2},
      {3,4},
      ....
    }

像上面那样将值放入矩阵的方式无效。

1 个答案:

答案 0 :(得分:0)

您根本无法做的事情。仅在初始化期间允许使用int matrix[line][col] = { {1,2}, {3,4}, ... }形式。

您可以执行以下操作:

int function() {
  int row0[] = { 1,2,3,4,5 ... };
  memcpy(matrix[0], row0, sizeof(row0));
  int row1[] = { 1,2,3,4,5 ... };
  memcpy(matrix[1], row1, sizeof(row0));
}

由您决定是否更好。不幸的是,这些事情在C语言中总是有些笨拙。