在声明具有全局范围的矩阵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},
....
}
像上面那样将值放入矩阵的方式无效。
答案 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语言中总是有些笨拙。