This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

array of union vs union of array

Hello

I am looking for help in understanding the difference between following 2 declarations:

1.

union u2
{
  unsigned int urow2;
  struct s2
  {
    unsigned int p32  : 1;   unsigned int p31  : 1;   unsigned int p30  : 1;   unsigned int p29  : 1;
    unsigned int p28  : 1;   unsigned int p27  : 1;   unsigned int p26  : 1;   unsigned int p25  : 1;
    unsigned int p24  : 1;   unsigned int p23  : 1;   unsigned int p22  : 1;   unsigned int p21  : 1;
    unsigned int p20  : 1;   unsigned int p19  : 1;   unsigned int p18  : 1;   unsigned int p17  : 1;
    unsigned int p16  : 1;   unsigned int p15  : 1;   unsigned int p14  : 1;   unsigned int p13  : 1;
    unsigned int p12  : 1;   unsigned int p11  : 1;   unsigned int p10  : 1;   unsigned int p9   : 1;
    unsigned int p8   : 1;   unsigned int p7   : 1;   unsigned int p6   : 1;   unsigned int p5   : 1;
    unsigned int p4   : 1;   unsigned int p3   : 1;   unsigned int p2   : 1;   unsigned int p1   : 1;
  }ss2;
}myunion2[16];

2.

union u2
{
  unsigned int urow2[16];
  struct s2
  {
    unsigned int p32  : 1;   unsigned int p31  : 1;   unsigned int p30  : 1;   unsigned int p29  : 1;
    unsigned int p28  : 1;   unsigned int p27  : 1;   unsigned int p26  : 1;   unsigned int p25  : 1;
    unsigned int p24  : 1;   unsigned int p23  : 1;   unsigned int p22  : 1;   unsigned int p21  : 1;
    unsigned int p20  : 1;   unsigned int p19  : 1;   unsigned int p18  : 1;   unsigned int p17  : 1;
    unsigned int p16  : 1;   unsigned int p15  : 1;   unsigned int p14  : 1;   unsigned int p13  : 1;
    unsigned int p12  : 1;   unsigned int p11  : 1;   unsigned int p10  : 1;   unsigned int p9   : 1;
    unsigned int p8   : 1;   unsigned int p7   : 1;   unsigned int p6   : 1;   unsigned int p5   : 1;
    unsigned int p4   : 1;   unsigned int p3   : 1;   unsigned int p2   : 1;   unsigned int p1   : 1;
  }ss2[16];
}myunion2;

Basically i want to initialize 16 unsigned int variables, urow2, and later access each of thir bits separately.

Any help would be great.