我具有将整数转换为字节数组的功能(对于 iPhone)。为了增加动态性,我使用 malloc 分配了数组。但我认为这会泄漏内存。管理此内存的最佳方法是什么,
+ (unsigned char *) intToByteArray:(int)num{
unsigned char * arr = (unsigned char *)
malloc(sizeof(num) * sizeof(unsigned char));
for (int i = sizeof(num) - 1 ; i >= 0; i --) {
arr[i] = num & 0xFF;
num = num >> 8;
}
return arr;
}
打电话时,
int x = 500;
unsigned char * bytes = [Util intToByteArray:x];
我想避免调用 free(bytes) 因为调用函数不知道或明确知道,内存已分配且未释放。