#include <stdio.h>
#include "stdint.h"
typedef union {
uint32_t align;
char buf[9];
} my_union_t;
int main(void) {
uint8_t a = 'a';
uint8_t b[1] = {0};
uint8_t c[2] = {0};
uint8_t d[3] = {0};
uint8_t e[4] = {0};
uint8_t f[5] = {0};
uint8_t g[6] = {0};
uint8_t h[7] = {0};
uint8_t i[8] = {0};
uint8_t j[9] = {0};
uint8_t k[10] = {0};
my_union_t un = {0};
my_union_t un2 = {0};
uint16_t u16 = 10;
printf("&a = %p, &b = %p, &c = %p\n", &a
, b
, c
); printf("&d = %p, &e = %p, &f = %p\n", d
, e
, f
); printf("&g = %p, &h = %p, &i = %p\n", g
, h
, i
); printf("&j = %p, &k = %p\n", j
, k
); printf("sizeof(my_union_t) = %u\n", sizeof(my_union_t
)); printf("&un = %p, &un2 = %p, u16 = %p\n", &un
, &un2
, &u16
); printf("&un.buf = %p, &un2.buf = %p\n", &un.
buf, &un2.
buf);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlICJzdGRpbnQuaCIKCnR5cGVkZWYgdW5pb24gewoJdWludDMyX3QgYWxpZ247CgljaGFyIGJ1Zls5XTsKfSBteV91bmlvbl90OwoKaW50IG1haW4odm9pZCkgewoJdWludDhfdCBhID0gJ2EnOwoJdWludDhfdCBiWzFdID0gezB9OwoJdWludDhfdCBjWzJdID0gezB9OwoJdWludDhfdCBkWzNdID0gezB9OwoJdWludDhfdCBlWzRdID0gezB9OwoJdWludDhfdCBmWzVdID0gezB9OwoJdWludDhfdCBnWzZdID0gezB9OwoJdWludDhfdCBoWzddID0gezB9OwoJdWludDhfdCBpWzhdID0gezB9OwoJdWludDhfdCBqWzldID0gezB9OwoJdWludDhfdCBrWzEwXSA9IHswfTsKCQoJbXlfdW5pb25fdCB1biA9IHswfTsKCW15X3VuaW9uX3QgdW4yID0gezB9OwoJdWludDE2X3QgdTE2ID0gMTA7CgkKCXByaW50ZigiJmEgPSAlcCwgJmIgPSAlcCwgJmMgPSAlcFxuIiwgJmEsIGIsIGMpOwoJcHJpbnRmKCImZCA9ICVwLCAmZSA9ICVwLCAmZiA9ICVwXG4iLCBkLCBlLCBmKTsKCXByaW50ZigiJmcgPSAlcCwgJmggPSAlcCwgJmkgPSAlcFxuIiwgZywgaCwgaSk7CglwcmludGYoIiZqID0gJXAsICZrID0gJXBcbiIsIGosIGspOwoJcHJpbnRmKCJzaXplb2YobXlfdW5pb25fdCkgPSAldVxuIiwgc2l6ZW9mKG15X3VuaW9uX3QpKTsKCXByaW50ZigiJnVuID0gJXAsICZ1bjIgPSAlcCwgdTE2ID0gJXBcbiIsICZ1biwgJnVuMiwgJnUxNik7CglwcmludGYoIiZ1bi5idWYgPSAlcCwgJnVuMi5idWYgPSAlcFxuIiwgJnVuLmJ1ZiwgJnVuMi5idWYpOwoKCQoJCglyZXR1cm4gMDsKfQo=
&a = 0x7ffe491f28f5, &b = 0x7ffe491f2911, &c = 0x7ffe491f2912
&d = 0x7ffe491f2914, &e = 0x7ffe491f2917, &f = 0x7ffe491f291b
&g = 0x7ffe491f2920, &h = 0x7ffe491f2926, &i = 0x7ffe491f292d
&j = 0x7ffe491f2935, &k = 0x7ffe491f293e
sizeof(my_union_t) = 12
&un = 0x7ffe491f28f8, &un2 = 0x7ffe491f2904, u16 = 0x7ffe491f28f6
&un.buf = 0x7ffe491f28f8, &un2.buf = 0x7ffe491f2904