#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;
}
