方法1:
自己定义一些数据结构,数据结构的第一个字段都是一个int整数,表明当前结构是什么类型。在函数中将void强制转换为int,取出那个标志,再根据标志指示的类型来把void *进一步转换为相应的结构的指针。
struct my_struct {int a;int b;};int main () {struct my_struct *p = malloc(sizeof(struct my_struct));p->a = 1;p->b = 2;int c = *((int *)p); //c === 1int d = *((int *)p+1); //d ===2printf("%d %d",c,d); //output: 1,2}