【发布时间】:2016-08-16 13:25:49
【问题描述】:
我想将一个数组分配给另一个数组。两个数组的大小不同:
char array1[7] = "abcdefg";
char array2[3];
如何将数组 1 中的三 (3) 个值分配给数组 2?我试过了:
array2[3] = {array1[2], array1[3], array1[4]};
我会变成以下错误消息:
expected expression before ´{´token
我知道当数组大小相同时我可以使用 (memcpy())。
我对 VHDL 和 verilog 有更多的经验。在 VHDL 中它可能如下所示:
array2 := arry1(2 upto 4);
但我对 C 编程没有太多经验。
谢谢
【问题讨论】:
-
大小不同时使用
memcpy有什么问题? -
如果区域是连续的(并且不重叠),您可以使用
memcpy():memcpy(array2, arrray1 + 2, 3); -
仅仅因为您知道 VHDL 并不意味着问题就在于此。删除标签。
-
@MikeCAT 成功了,谢谢!