gpt4 book ai didi

c - 如何复制和分配数组数组?

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:21 25 4
gpt4 key购买 nike

  int zero[5][4] = {
{ 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }
};
int m1[5][4] = {
{ 1, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 1 }
};

//errors here
m1 = zero;
m1 = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } };
m1[0] = { 0, 0, 0, 0 };

这没有语法吗?我是否必须使用带索引的循环来实现此目的?

最佳答案

在 C 中,数组不可赋值或不能位于赋值 (=) 运算符的左侧。使用 memcpy

memcpy(m1, zero, sizeof(zero)); // Assuming size of 'm1' is no less than the size of 'zero'  

您可以使用memset 来设置一个数组,其值为常量,例如0-1

memset(m1, 0, sizeof(m1));  

关于c - 如何复制和分配数组数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34278862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com