bir işlev döndürecek:Ücretsiz ayrılan bellek önce bir işlevi <em>malloc</em> kullanarak bir dizi dönmek için çalışıyorum
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;
}
sorun benim MCU yığın boyutu sınırlıdır çünkü ben ücretsiz gerektiğidir . Ama ben onu geri vermek istiyorum, bu yüzden fonksiyonda serbest kalamıyorum, değil mi? Tahsis edilen belleği fonksiyonun dışında serbest bırakabilir miyim (fonksiyonu çağıracağım). Bunun için en iyi uygulamalar var mı? Şimdiden teşekkür ederim!
fonksiyonu dışına boşaltmak için. Malloc'd belleğin yine de fonksiyonun içinde serbest bırakılması gerekliliği yoktur. – futureelite7
Tabii ki. Bu malloc'un bütün noktasıdır. Bunu yapamazsan, malloğun hiç yaratılmış olmasının bir sebebi olmayacaktı. –