在C中创建多维数组后,如何一次将多个值分配给多维数组?
我正在用C语言编程,想知道是否有可能一次给多维数组分配多个值? 我试过一些技巧,但都失败了! 我不想在数组中循环分配值(我想要一种快速的方法,将新值分配给数组中的所有索引)。在C中创建多维数组后,如何一次将多个值分配给多维数组?,c,arrays,multidimensional-array,assign,multiple-value,C,Arrays,Multidimensional Array,Assign,Multiple Value,我正在用C语言编程,想知道是否有可能一次给多维数组分配多个值? 我试过一些技巧,但都失败了! 我不想在数组中循环分配值(我想要一种快速的方法,将新值分配给数组中的所有索引)。 我正在使用的数组:ary[4][4]。由于数组不是可修改的左值,因此它不能出现在赋值的左侧。您可以对其进行初始化,也可以通过索引分配单个成员 6.3.2.1 可修改左值是指没有数组类型的左值, 没有 和可修改的左值: 名称“左值”最初来自赋值 表达式E1=E2,其中左操作数E1必须是 (可修改)左值 因此,不,你不能做你想
我正在使用的数组:ary[4][4]。由于数组不是可修改的左值,因此它不能出现在赋值的左侧。您可以对其进行初始化,也可以通过索引分配单个成员 6.3.2.1 可修改左值是指没有数组类型的左值, 没有 和可修改的
左值
:
名称“左值”最初来自赋值
表达式E1=E2,其中左操作数E1必须是
(可修改)左值
因此,不,你不能做你想做的事。另一个的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));
你能展示失败的技巧吗?你可能想在答案的末尾加上“所以不”。