我执行以下操作:
void * myFunction(void) {
void *someBytes = malloc(1000);
// fill someBytes
//check the first three bytes (header)
if(memcmp(someBytes, "OK+", 3) == 0) {
// move the pointer (jump over the first three bytes)
someBytes+=3
}
return someBytes;
}
接收器如何释放分配的指针?当然我可以在指针上做一个-3。
但是这种情况有最佳实践吗?是否有一个简单的解决方案仍然允许在接收器函数中调用free(someBytes);
因为someBytes
也可以容纳数兆字节我想避免 memcpy (malloc(1000)
仅用于示例)。