在C中复制int8_t数组

时间:2017-06-19 17:43:22

标签: c arrays copy

我有以下内容:

int8_t rtp[size];
int8_t holding[size];

我想将rtp中的值复制到holding

3 个答案:

答案 0 :(得分:4)

使用memcpy()进行简单复制。

无论对象的类型如何,这都有效 如果目标是复制整个对象,确保大小相同是一个很好的保障。

assert(sizeof holding == sizeof rtp);
memcpy(holding, rtp, sizeof holding);

如果对象可能重叠 - 或不确定,请使用memmove() 这有时候 little 更慢。通常这种潜在的轻微降低性能是微不足道的。

memmove(holding, rtp, sizeof holding);

答案 1 :(得分:2)

您可以使用memcpy复制整个数组。

memcpy(holding, rtp, size * sizeof(int8_t));

答案 2 :(得分:0)

我认为你可以这样做

int i;
for(i = 0; i < size/*The size of the array*/, i++){
 holding[i] = rtp[i];
}