#include <stdio.h> | |
#include <string.h> | |
#include <stdlib.h> | |
typedef struct{void*super;int name;int size;}t; | |
t*f(t*clas,int size) | |
{ | |
t*child=(t*)malloc(size); | |
memcpy(child,clas,clas->size); | |
child->super=clas; | |
child->name=0; | |
child->size=size; | |
return child; | |
} | |
main() | |
{ | |
t foo,*bar; | |
memset(&foo,37,sizeof(t)); | |
foo.size=sizeof(t); | |
bar=f(&foo,sizeof(t)); | |
if(bar->super!=&foo||bar->name!=0||bar->size!=sizeof(t))abort(); | |
exit(0); | |
} |