Уважаемые эксперты. У меня вопрос по ликбезу.
Если я создаю некоторую динамическую структуру данных, например бинарное дерево в чистом С, то мне придётся либо реализовать дерево для каждого типа отдельно (int, char, char*, struct {...} и т.д.) либо реализовать дерево для void*. Есть ли другие возможности?
Во втором случае возникает вопрос: если я помещаю в дерево элемент (функция insert_item), каковы мои действия? Например, создаем копи объекта, который хотим иметь в дереве и помещаем её (копию) в него (дерево). Но, как тогда узнать размер объекта? Особенно если это строки? (делать константу МАХ_SIZE?)
Если просто сохраням адреса, то пользователь должен сам заботится о создании/удалении объектов. Как быть? Что посоветуете из опыта?