Forum: Compiler & IDEs Frage zu C: Vereinen von struct, union und array


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Carsten (Gast)


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
von Oliver (Gast)


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
von Carsten (Gast)


Lesenswert?

Total number of errors: 0
Total number of warnings: 0

Vielen Dank für die schnelle Antwort ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.