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