Если вы хотите скопировать значения из одной структуры в другую, вы можете сделать это:
typedef struct {
int bar1;
char* bar2;
int (*callback)(int);
} mystruct;
char str[] = "Hello \x45\x10\x00 World!";
int main() {
mystruct* foo = (mystruct*)malloc(sizeof(mystruct));
mystruct* foo2 = (mystruct*)malloc(sizeof(mystruct));
foo->bar1 = 10;
foo->bar2 = "hi";
printf("foo->bar1 = %d, foo->bar2 = %s\n",foo->bar1,foo->bar2);
memcpy(foo2,foo,sizeof(*foo));
printf("foo2->bar1 = %d, foo2->bar2 = %s\n",foo2->bar1,foo2->bar2);
free(foo);
free(foo2);
return 0;
}
Выход:
---------- Capture Output ----------
> "c:\windows\system32\cmd.exe" /c c:\temp\temp.exe
foo->bar1 = 10, foo->bar2 = hi
foo2->bar1 = 10, foo2->bar2 = hi
> Terminated with exit code 0.