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