#include <stdio.h>

#define STATIC_ASSERT(COND) typedef char static_assertion_##__LINE__[(COND) ? 1 : -1]
#define ENSURE_SIZE(structure, size) STATIC_ASSERT(sizeof(structure) == size)

typedef struct
{
	unsigned a;
	unsigned b;
} foo;
ENSURE_SIZE(foo, sizeof(unsigned));

int main(void) {
	unsigned local_a = 0;
	foo *f = (foo *)(&local_a);
	printf("address local_a: %X, f->a: %X\n", &local_a, &f->a);
	return 0;
}
