1 #include <stdio.h>
2 
3 int
main()4 main() {
5         struct bogus {
6                 unsigned int    gnu:1;
7                 unsigned int    blue:7;
8         } b;
9         unsigned char   *ucp;
10 
11         printf("%d\n", (int)sizeof b);
12         memset(&b, 0, sizeof b);
13         b.gnu = 1;
14         for (ucp = (unsigned char *)&b; ucp != (unsigned char *)&b + sizeof b; ++ucp) {
15                 printf("%02x ", *ucp);
16         }
17         putchar('\n');
18         b.blue = 0; /* Shall not affect previous output */
19         for (ucp = (unsigned char *)&b; ucp != (unsigned char *)&b + sizeof b; ++ucp) {
20                 printf("%02x ", *ucp);
21         }
22         putchar('\n');
23         b.blue = 0x7f;
24         b.gnu = 0;
25         for (ucp = (unsigned char *)&b; ucp != (unsigned char *)&b + sizeof b; ++ucp) {
26                 printf("%02x ", *ucp);
27         }
28         putchar('\n');
29 
30         return 0;
31 }
32