Jäsenen lisäyksessä voisimme tehdä myös seuraavasti, eli kasvatettaisiin jäsenistön kokoa 50%, mikäli jäsenistö tulee täyteen (cKerho jaettiin kahteen osaan: cKerho ja cJasenet):
//---------------------------------------------------------------------------- const char *cJasenet::kasvata_kokoa() /* ** Yritetään allokoida uutta tilaa 50% maksimimäärään nähden lisää. ** Paitsi jos vanha koko on 1, niin kasvatetaan 2:ksi. ** Jos vanha tila on 0, niin tehdään uusi tila. ----------------------------------------------------------------------------*/ { if ( max_lkm <= 0 ) return luo_taulukko(2); int uusi_koko = 3*(max_lkm)/2; if ( uusi_koko <= 1 ) uusi_koko=2; cJasen **uusi_tila = (cJasen **)realloc(alkiot,uusi_koko*sizeof(cJasen *)); if ( uusi_tila == NULL ) return LIIKAA_ALKIOITA; alkiot = uusi_tila; max_lkm = uusi_koko; return NULL; } ... if ( jasenia >= max_jasenia ) virhe = kasvata_kokoa(); if ( virhe ) return virhe;