volna pamet
Martin Horcicka
mhor5157 at ss1000.ms.mff.cuni.cz
Mon Jul 19 16:27:24 CEST 1999
Ahoj,
nevim, zda nejde jen o nejakou vykonstruovanou ukazku, ale jestli je tohle
opravdu soucasti nejakeho programu, mam z toho podivny pocit.
> /* ZACATEK PRIKLADU */
> char **test ( char **str ) {
> var *buff=NULL;
>
> if((buff=(char *) malloc(1024))!=NULL) {
> strcpy(buff, "A");
> if(str!=NULL) {
Pritomnost predchazejici podminky nasvedcuje tomu, ze muze nastat situace
kdy nebude pravdiva, ale kdyz se to stane, dojde k zapomenuti odkazu na
alokovanou pamet -- mozna je to jedno z mist, ktere hledas.
> free(*str);
> *str=buff; /* toto myslim prepisovanim pointeru */
> }
> }
>
> return str;
> }
> /* KONEC PRIKLADU */
Vhodnost takovychto technik je nejspis trochu diskutabilni, ale na to ses
neptal.
Martin
More information about the Users-l
mailing list