私は次のことを行います:
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;
}
受信者はどのようにして malloced ポインターを解放できますか? もちろん、ポインターで -3 を実行することもできます。
しかし、その場合のベストプラクティスはありますか? レシーバー関数で呼び出しを許可するための簡単な解決策はありますか?複数のメガバイトを保持することもできたfree(someBytes);
のでsomeBytes
、memcpy を避けたいです (malloc(1000)
これは例のためだけです)。