I asked a similar question, almost identical
void pointers, generics, vectors
It's only a few days old, you might find some useful stuff there about void* and an example of how to do a vector using void*
I'm still unsure how to do this.. a generic data structure...