Varattu muistitila pitää aina vapauttaa, kun sitä ei enää tarvita. Ohjelman lopuksi tietenkin kaikki ohjelman aikana varattu muistitila vapautuu. Kuitenkin usein aliohjelmien pitää varata itselleen työtilaa ja aliohjelman lopuksi tämä työtila pitää vapauttaa. Tällöin aliohjelmasta ei voida poistua return - lauseella, vaan pitää tehdä goto vapauta tai vastaava hyppy aliohjelman loppuun.
Kun jäsenistöstä poistetaan jäsen, voidaan tämä tehdä vaikkapa seuraavasti:
void cKerho::poista_taulukko() { if ( max_jasenia > 0 ) free(jasenet); max_jasenia = 0; }