[英]Copying an array of int8_t in C
我有以下几点:
int8_t rtp[size];
int8_t holding[size];
我想价值在复制rtp
成holding
。
使用memcpy()
进行简单复制。
无论对象的类型如何,此方法均有效。
如果目标是复制整个对象,则确保大小相同是一个很好的保障。
assert(sizeof holding == sizeof rtp);
memcpy(holding, rtp, sizeof holding);
如果对象可能重叠-或不确定,请使用memmove()
。
这是有时慢一点 。 通常,这种潜在的性能轻微降低是微不足道的。
memmove(holding, rtp, sizeof holding);
您可以使用memcpy
复制整个数组。
memcpy(holding, rtp, size * sizeof(int8_t));
我想你可以这样
int i;
for(i = 0; i < size/*The size of the array*/, i++){
holding[i] = rtp[i];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.