( TheImmortal | 2012. 12. 14., p – 10:43 )

Én nem a calloc létjogosultságát kérdőjeleztem meg, természetesen van értelme bizonyos esetekben, csak nem hinném, hogy az eredetileg írt Amugy ha mar, pl. akkor nem malloc()-kal foglalunk ilyen strukturakat, mint pl. a handle, hanem calloc()-kal. általános elv megalapozott. Viszont az általad leírtakat nem egészen értem. Kezdve azzal, hogy miben különbözik egy bármilyen memória foglalás egy másiktól, szerintem tök mindegy, hogy mi lesz benne, struktúra, tömb, egyszerű int, bármi. A másik amit nem tudok, hogy mit értesz "buffer allokálás" alatt? A malloc + memset páros tudtommal semmi, jobban mondva nagyon elhanyagolható overhead-el rendelkezik a calloc-hoz képest. A malloc ugye jelzi a futtató rendszer felé, hogy ennyi vagy annyi memóriára van szükségem. A rendszer jobb esetben visszajelez, hogy tessék, itt van a memória. Ez a rész közös a malloc-ban és a calloc-ban is. A malloc itt visszatér, míg a calloc végigmegy a területen és lenullázza. A memset pedig ugyan ezt végzi el a malloc után, így a függvényhívás overhead-e az, amivel számolni kell.

A különbség a két elv között:
Pontscho módszere: memóriafoglalás + nullázás + nem nulla tagok inicializálása
Én módszerem: memóriafoglalás + összes tag inicializálása a megfelelő értékekre
Pontscho módszere lehet, hogy kényelmesebb, de a nem nullára inicializálandó tagok kezdeti 0-ra állítása fölösleges overhead.