fork download
  1. #include <stdio.h>
  2.  
  3. union Sx_Cx {
  4. unsigned char Byte;
  5. struct {
  6. unsigned char C1_1:1;
  7. unsigned char C1_2:1;
  8. unsigned char C1_3:1;
  9. unsigned char C1_4:1;
  10. unsigned char C1_5:1;
  11. unsigned char C1_6:1;
  12. unsigned char C1_7:1;
  13. unsigned char C1_8:1;
  14. } BIT;
  15. };
  16.  
  17. union Sx_Cx Table[2][2];
  18.  
  19. int main(void) {
  20. // your code goes here
  21. printf("Table_ALL[0][0] = %d\n", Table[0][0].Byte);
  22. printf("Table_ALL[0][1] = %d\n", Table[0][1].Byte);
  23. printf("Table_ALL[1][0] = %d\n", Table[1][0].Byte);
  24. printf("Table_ALL[1][1] = %d\n", Table[1][1].Byte);
  25.  
  26. printf("Write\n");
  27.  
  28. Table[0][0].BIT.C1_1 = 1;
  29. Table[0][1].BIT.C1_2 = 1;
  30. Table[1][0].BIT.C1_3 = 1;
  31. Table[1][1].BIT.C1_4 = 1;
  32.  
  33.  
  34. printf("Table_ALL[0][0] = %d\n", Table[0][0].Byte);
  35. printf("Table_ALL[0][1] = %d\n", Table[0][1].Byte);
  36. printf("Table_ALL[1][0] = %d\n", Table[1][0].Byte);
  37. printf("Table_ALL[1][1] = %d\n", Table[1][1].Byte);
  38. return 0;
  39. }
Success #stdin #stdout 0s 4496KB
stdin
Standard input is empty
stdout
Table_ALL[0][0] = 0
Table_ALL[0][1] = 0
Table_ALL[1][0] = 0
Table_ALL[1][1] = 0
Write
Table_ALL[0][0] = 1
Table_ALL[0][1] = 2
Table_ALL[1][0] = 4
Table_ALL[1][1] = 8