char * bar;
bar = malloc(sizeof(char)*16);
printf("%d %d", sizeof(foo), sizeof(bar));
assert(sizeof(foo) == sizeof(bar));
memcpy(foo, bar, sizeof(bar));
I think you need to go and learn some C. Or at least common mistakes that people will make that Microsoft is trying to avoid, like using sizeof on a dynamically allocated piece of memory.