#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct two_values
{
int some;
char value;
};
int main(void) {
int some = 5;
char value = 'a';
unsigned char *data
= malloc(sizeof(struct two_values
)); memcpy(data
, &some
, sizeof(int)); memcpy(data
+sizeof(int), &value
, sizeof(char)); struct two_values dest;
memcpy(&dest
, data
, sizeof(struct two_values
)); printf("some = %d, value = %c\n", dest.
some, dest.
value); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKc3RydWN0IHR3b192YWx1ZXMKewoJaW50IHNvbWU7CgljaGFyIHZhbHVlOwp9OwoKaW50IG1haW4odm9pZCkgewoJaW50IHNvbWUgPSA1OwoJY2hhciB2YWx1ZSA9ICdhJzsKCXVuc2lnbmVkIGNoYXIgKmRhdGEgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCB0d29fdmFsdWVzKSk7CgltZW1jcHkoZGF0YSwgJnNvbWUsIHNpemVvZihpbnQpKTsKCW1lbWNweShkYXRhK3NpemVvZihpbnQpLCAmdmFsdWUsIHNpemVvZihjaGFyKSk7CglzdHJ1Y3QgdHdvX3ZhbHVlcyBkZXN0OwoJbWVtY3B5KCZkZXN0LCBkYXRhLCBzaXplb2Yoc3RydWN0IHR3b192YWx1ZXMpKTsKCXByaW50Zigic29tZSA9ICVkLCB2YWx1ZSA9ICVjXG4iLCBkZXN0LnNvbWUsIGRlc3QudmFsdWUpOwoJcmV0dXJuIDA7Cn0K