2

我正在用 C 编程,想知道是否可以一次将多个值分配给多维数组?我尝试了一些技术,但都失败了!我对遍历数组来分配值不感兴趣(我想要一种快速的方式来为数组中的所有索引分配新值)。我正在使用的数组:ary[4][4]。

4

2 回答 2

3

来自另一个的 memcpy 将覆盖已经存在的内容ary

int ary[4][4];
int another[4][4] = {{1,2,3,4}, {5,6,7,8}, {1,2,3,4}, {5,6,7,8}};
memcpy(ary, another, 4 * 4 * sizeof(int));
于 2012-07-31T06:04:12.070 回答
2

由于数组不是可修改的左值,因此它不能出现在赋值的左侧。您可以对其进行初始化,并且可以通过索引分配单个成员。

6.3.2.1

可修改的左值是没有数组类型的左值,没有...

和一个可修改的lvalue

名称“左值”最初来自赋值表达式 E1 = E2,其中要求左操作数 E1 是(可修改的)左值。

所以不,你不能做你想做的事。

于 2012-07-31T05:56:16.613 回答