【发布时间】:2021-06-05 16:40:31
【问题描述】:
假设我有一个包含垃圾和数据的整数数组。我希望移动这个数组,使数据位于数组的开头。
Current:
[?, ?, ?, ?, 1, 1, 1, 1, 1]
---------- -------------
JUNK DATA
Desired:
[1, 1, 1, 1, 1, ?, ?, ?, ?]
------------- ----------
DATA JUNK
使用 memcpy 执行这种转变是否安全?
memcpy(my_array, my_array + 4, 5)
我很好奇 memcpy 的复制顺序可能会破坏数据移位。
注意:在有人问之前,我正在使用遗留代码。我认为我的问题的真正解决方案需要一个循环缓冲区,这样我就不必在数组中移动数据。
【问题讨论】: