diff --git a/20151210/unions-1.c b/20151210/unions-1.c new file mode 100644 index 0000000000000000000000000000000000000000..5e81a69aab7e542146dee2b75f9501c9831e34b2 --- /dev/null +++ b/20151210/unions-1.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + union + { + int a; + char b[4]; + } + foo; + printf ("%d %d %d %d\n", foo.b[0], foo.b[1], foo.b[2], foo.b[3]); + foo.a = 16777216 + 512 + 42; + printf ("%d %d %d %d\n", foo.b[0], foo.b[1], foo.b[2], foo.b[3]); + return 0; +} diff --git a/20151210/unions-2.c b/20151210/unions-2.c new file mode 100644 index 0000000000000000000000000000000000000000..ff746a0b8935b08bda9b6af361554c14a10d6f2c --- /dev/null +++ b/20151210/unions-2.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + union + { + int a; + char c; + } + foo; + printf ("%d\n", foo.c); + foo.a = 16777216 + 512 + 42; + printf ("%d\n", foo.c); + return 0; +} diff --git a/20151210/unions-3.c b/20151210/unions-3.c new file mode 100644 index 0000000000000000000000000000000000000000..5e649d1dc6b0cb03de2a7b9977d0f419f2080616 --- /dev/null +++ b/20151210/unions-3.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +int main (void) +{ + union + { + int a; + char b[4]; + } + foo; + printf ("%d %d %d %d\n", foo.b[0], foo.b[1], foo.b[2], foo.b[3]); + foo.a = 16777316 + 137 + 46; + printf ("%d %d %d %d\n", foo.b[0], foo.b[1], foo.b[2], foo.b[3]); + return 0; +}