одинаково (calloc и malloc), но один из них не работает. Можете подсказать почему?
Такой вариант работает:
pop_manager_structure_var = (struct pop_manager_structure *)calloc((size_t)1, sizeof(struct pop_manager_structure));
Но такой не работает:
pop_manager_structure_var = (struct pop_manager_structure *)malloc(sizeof(struct pop_manager_structure));
расскрой мысль
А что именно не работает?
Первый вариант - все работает без проблем. Во втором варианте случайным образом что-то с памятью происходит с параметрами в структуре. Как будто есть какая-то разница между двумя вариантами (я думал они должны работать идентично в приведенном примере)
первый обнуляет память, второй возвращает тебе мусор в членах структуры, которые надо дополнительно обнулять memset-ом
Ясно, не знал. Думал они идентично работают, в интернете по крайней мере написано что у них разница только в дополнительном аргументе. Спасибо за инфу
calloc - clear alloc
Обсуждают сегодня