#include <stdio.h>
#include <stdint.h>
#include <stddef.h>
typedef struct {
uint8_t f1;
uint32_t f2;
uint16_t f3;
} example_TypeDef;
void print_st(example_TypeDef *st) {
printf("%hhu %hu %u \n", st
->f1
, st
->f2
, st
->f3
); }
int main(void) {
example_TypeDef a;
example_TypeDef b;
uint8_t *a_mem;
uint8_t *b_mem;
a.f1 = 11;
a.f2 = 22;
a.f3 = 44;
b.f1 = 55;
b.f2 = 66;
b.f3 = 77;
printf("sizeof: %ld\n", sizeof(example_TypeDef
));
a_mem = (uint8_t *)(&a);
b_mem = (uint8_t *)(&b);
for (int i = 0; i < sizeof(example_TypeDef); i++) {
b_mem[i] = a_mem[i];
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KI2luY2x1ZGUgPHN0ZGRlZi5oPgoKdHlwZWRlZiBzdHJ1Y3QgewoJdWludDhfdCBmMTsKCXVpbnQzMl90IGYyOwoJdWludDE2X3QgZjM7Cn0gZXhhbXBsZV9UeXBlRGVmOwoKdm9pZCBwcmludF9zdChleGFtcGxlX1R5cGVEZWYgKnN0KSB7CglwcmludGYoIiVoaHUgJWh1ICV1IFxuIiwgc3QtPmYxLCBzdC0+ZjIsIHN0LT5mMyk7Cn0KCmludCBtYWluKHZvaWQpIHsKCWV4YW1wbGVfVHlwZURlZiBhOwoJZXhhbXBsZV9UeXBlRGVmIGI7Cgl1aW50OF90ICphX21lbTsKCXVpbnQ4X3QgKmJfbWVtOwoJCglhLmYxID0gMTE7CglhLmYyID0gMjI7CglhLmYzID0gNDQ7CgkKCWIuZjEgPSA1NTsKCWIuZjIgPSA2NjsKCWIuZjMgPSA3NzsKCQoJcHJpbnRmKCJzaXplb2Y6ICVsZFxuIiwgc2l6ZW9mKGV4YW1wbGVfVHlwZURlZikpOwoJcHJpbnRmKCJhID0gIik7IHByaW50X3N0KCZhKTsKCXByaW50ZigiYiA9ICIpOyBwcmludF9zdCgmYik7CgkKCXByaW50ZigiY29weSBiIDwtIGFcbiIpOwoJYV9tZW0gPSAodWludDhfdCAqKSgmYSk7CgliX21lbSA9ICh1aW50OF90ICopKCZiKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZW9mKGV4YW1wbGVfVHlwZURlZik7IGkrKykgewoJCWJfbWVtW2ldID0gYV9tZW1baV07Cgl9CglwcmludGYoImEgPSAiKTsgcHJpbnRfc3QoJmEpOwoJcHJpbnRmKCJiID0gIik7IHByaW50X3N0KCZiKTsKCQoJcmV0dXJuIDA7Cn0K