【发布时间】:2017-04-08 21:10:52
【问题描述】:
我已经给出了uint8_t[n] 类型的数据缓冲区。现在我必须在这个数组中添加一个 head ,即之前的 uint8_t 的一个值。但我不想 memcpy 数据!
给定数组:
0x0800 - Start of data buffer
...
0x0900 - End of data buffer
新数组:
0x07ff - Head
0x0800 - Start of data buffer
...
0x0900 - End of data buffer
有没有可能这样做或者内存分配有问题?
【问题讨论】:
-
如果你不知道你给定的内存块前面是什么,那么插入一个值是一个非常糟糕的主意。
-
如果您无法控制缓冲区内存的分配数量和位置,那么如果不分配新内存并复制所有内容,这是不可能的。