void указатель или произвольные данные
У меня есть список, в узлах списка лежат ключ и данные, ключ - char*, данные - void*.
То есть мне нужно хранить произвольные данные. Допустим я добавил в список ключ, а в данные занес какое-то число или тоже строку. В будущем я хочу посмотреть что лежит в этом узле и получить это. Как мне преобразовать данные из void указателя обратно в то, чем они являлись при внесении в список? Или что-то другое нужно использовать для хранения произвольных данных вообще?