#include <stdio.h>
#define modif(s) do { \
	s; \
	printf("%18s\t", #s); \
	printf("x: %p ",x); \
	printf("*((int *)x): %10d, *x: %10d, y: %10d i: %10d\n",*((int *)x),*x,y,i); \
} while(0);

#define init(s) \
	s; \
	printf(#s "\n");

int main(void) {
	init(
	int i=666;
	char y=42;
	char *x;
	);
	printf("&i: %p\n&y: %p\n sizeof(i): %lu\n",&i,&y,sizeof(i));

	modif(x=&i);
	modif(x+=4; *x=5);
	modif(*(int *)x = -5);
	modif(y=42);
	modif(i = -20);
	modif(i = (long) -20);
	modif(*((long *)&i) = -55);
	return 0;
}


