( igoor | 2012. 12. 14., p – 10:02 )

Elkoveted azt a hibat, hogy folyamatosan strukturakrol beszelsz, ahol a meret adott. A nullara (vagy amire eppen akarod) inicializalas maris ertelmet kap, mihelyt buffert allokalsz, aminek a hasznos adattartalma valtozo. Ebben az esetben a calloc() hasznalata maris indokoltta valhat, tekintve, hogy rendszertol fuggoen lenyegesen gyorsabb lehet, mint egy malloc()+memset() paros. Viszont a calloc() hasznalatanak a letjogusultsaga is megkerdojelezheto, ha nem csak az adat, hanem a buffer merete is dinamikusan valtozik, mert ebben az esetben pl. a realloc() nem fogja az ujonnan foglalt teruleteket inicalizalni (feltetelezve, hogy a buffer novekszik), tehat szukseg lesz a memset()-re, azaz a calloc() "gyorsasagabol" csak az elso foglalaskor profitalsz esetleg. Szoval szerintem nincs egyseges recept (ahogy a goto hasznalatara sincs), meg persze, az ember lehet bator es nem fontos azt a buffert inicializalni ;) Gondolom, "nagy projektekben" egyebkent sem hasznal senki ilyen ordogi talalmanyt :P