čaute, potrebujem radu. Mám dynamické pole ukazovateľov na štruktúry - TYP_STRUKTURY ** pole. Počas priebehu programu sa samozrejme mení počet týchto ukazovateľov v poli. Pri uvoľňovaní chcem uvoľniť miesto v pamäti, kde je uložený daný smerník, čiže jeho prislúchajúca štruktúra musí zostať nedoktnutá (s ňou budem pracovať pomocou iného smerníka). Príkaz free((void *) *(pole + i); uvoľní miesto v pamäti, kde je uložená i-tá štruktúra, čiže to nie je ten správny príkaz. Príkaz free((void *) pole) uvoľní celé alokované pole smerníkov a štruktúry zostanú nedotknuté, to je tiež na nič...Preto sa sa pýtam, akým spôsobom sa dá dosiahnuť, aby sa uvoľnilo iba miesto, kde je uložený daný smerník. ďakujem....
Ladislav.
a nie, nemozes uvolnit 4B v alokovanom bloku pamate (ak som to dobre pochopil)
ale pre tvoje pouzitie by si mal vyhladat nieco o linked list
a ked mam uviest nejaky priklad, kde to nie je len "prilisna" opatrnost -- mas par mega alokovanych a zmensich ich na par bajtov, tak ti to realloc moze skusit presunut inam a vtedy to kludne moze rachnut...
Vy inac ako riesenie navrhujete ten linked list?