#include #include int main(int argc, char *argv[]) { long int x; float y; struct { int a; int b; } z = {1,2}; x = y; y = x + y; x = y + x; x = z; // error x = (long int) z; // error x = *(long int*)&z; // crazy, but perfectly okay! printf("x = %ld (%#018lX)\n", x, x); return EXIT_SUCCESS; }