1 #include <stdio.h> 2 3 int main()4main() { 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