( locsemege | 2022. 09. 30., p – 00:59 )

Arra gondoltam, hogy fragmentálódik a címtartomány, lyukacsos, mint a sajt, foglalt és szabad területek váltogatják egymást. Ha ezt össze tudjuk gereblyézni úgy hogy a foglalt területek egymás után legyenek, utána a szabad területek szintén egy blokkban, akkor nyertünk, különösképpen, ha ehhez nem kell adatot módosítani, legfeljebb címeket a nyilvántartásban. Nem gondoltam végig, de gyanítom, memória blokkok lapozgatásával meg lehet csinálni. Persze lehet, hogy csak realloc() hívásakor van erre lehetőség, hiszen az a cél, hogy más címre kerüljön tényleges adatmozgatás nélkül az adat, csak ha erről nem tud az alkalmazás, akkor baj van. Ugye a realloc() nem garantálja, hogy ott marad az adat, ahol eddig volt, ezért érdemes offset-et, ha úgy tetszik, tömb indexet használni címzéshez pointer helyett. Vagy minden realloc() után újra kell számolni a pointereket.