I programmeringsspråket C används realloc-funktionen för att ändra storlek på ett minnesblock som tidigare tilldelats. Realloc-funktionen allokerar ett minnesblock (som kan göra det större eller mindre i storlek än originalet) och kopierar innehållet i det gamla blocket till det nya minnesblocket, om det behövs.
Hur omfördelar du minne?
Storleken på dynamiskt allokerat minne kan ändras genom att använda realloc. Enligt C99-standarden: voidrealloc (void ptr, size_t size); realloc avallokerar det gamla objektet som ptr pekar på och returnerar en pekare till ett nytt objekt som har storleken specificerad av storlek.
Vilken funktion används för att frigöra minne?
fri funktion används för att frigöra minnet som är dynamiskt reserverat för block & som inte längre behövs. Syntax: void free(void block); Det släpper blocket med specificerad pekare.
Vad är minnesomfördelning?
När ett försök görs att ändra storlek på en buffert genom ett anrop till realloc-funktionen, kontrolleras pekaren för giltighet om det är ett icke-NULL-värde. Om det är giltigt kontrolleras headern för heapbufferten för konsistens. Den ursprungliga bufferten frigörs sedan. …
Vilken funktion lämnar minnet oinitierat?
14 svar. calloc ger dig en nollinitialiserad buffert, medan malloc lämnar minnet oinitierat.