конечно экономия на спичках (библиотечных вызовах), но очень хочется некий довесок/альтернативу malloc, которая умеет за один вызов выделять-освобождать блоки целыми пачками. Что-нить с прототипом а-ля :
// allocate all
int alloc_group(size_t item_size,size_t nr_of_items,void **save_pointers_here);
// freeing not-null`s
int free_group(size_t nr_of_items,void **take_pointers_from_here);
ps/ предвосхищая замечания - пулы объектов, это хорошо, но их тоже надо быстро пополнять и время от времени чистить; - просто хапнуть большой кусок item[nr_of_items] тоже нельзя, каждый объект живёт своей жизнью и освобождается раньше/позже прочих