我正在尝试在函数中使用malloc返回一个数组:
char* queueBulkDequeue(queueADT queue, unsigned int size)
{
unsigned int i;
char* pElements=(char*)malloc(size * sizeof(char));
for (i=0; i<size; i++)
{
*(pElements+i) = queueDequeue(queue);
}
return pElements;
}
问题是我需要释放它,因为我的 MCU 的堆大小是有限的。但是我想返回它,所以我不能在函数中释放它,对吧?我可以在函数之外释放分配的内存(我调用函数的地方)吗?有没有这方面的最佳实践?先感谢您!