Frage zu C: Vereinen von struct, union und array

Gast #491449
Lesenswert?

Hallo.
Ich habe da ein Problem wo ich nicht weiter weiß,
vielleicht hat ja jemand von euch eine Idee :)

Ich habe folgende Struktur:

union {
  Byte s ;
  struct {
  unsigned char bStatusA:1 ;
  unsigned char bStatusB:1 ;
  unsigned char bStatusC:1 ;
  unsigned char bStatusD:1 ;
  unsigned char bStatusE:1 ;
  } m ;
} ;

Der Zugriff ist:
m.bStatusA = 1;    //setzt einen Status
m.bStatusA = 0;    //löscht einen Status
s = 0;             //löscht alle Stats

Nun möchte ich es gerne vervielfachen.
Das ganze soll dann mit einem Index angesprochen werden können.

Also so (sinngemäß):
m[2].bStatusA = 1;    //setzt einen Status im 3. Feld
m[0].bStatusA = 0;    //löscht einen Status im 1. Feld
s[1] = 0;             //löscht alle Stats im 2. Feld

Hat da jemand eine Idee? Wenn sowas überhaupt möglich ist^^

MfG
Gast #491457
Lesenswert?

typedef union {
  Byte s ;
  struct {
  unsigned char bStatusA:1 ;
  unsigned char bStatusB:1 ;
  unsigned char bStatusC:1 ;
  unsigned char bStatusD:1 ;
  unsigned char bStatusE:1 ;
  } m ;
} MyType;

MyType m[47];

Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren