Я пытаюсь вернуть массив, используя 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 ограничен. Но я хочу вернуть его, поэтому я не могу освободить его в функции, верно?. Могу ли я освободить выделенную память вне функции (, где я вызываю функцию ). Есть ли какие-либо лучшие практики для этого? Заранее спасибо!