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