方法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 === 1
int d = *((int *)p+1); //d ===2
printf("%d %d",c,d); //output: 1,2
}