Forum: Mikrocontroller und Digitale Elektronik Zugriff auf member eines structs


von Simon (Gast)


Lesenswert?

1
typedef struct       
2
{
3
    UINT32 counter;
4
    union
5
    {
6
        UINT8 val;
7
        struct
8
        {
9
   UINT8 bOnFalling : 1;
10
   UINT8 bOnRising : 1;
11
  } bits;
12
    } event;
13
} IO_DIGITAL;
14
15
16
void print_val(IO_DIGITAL *val){
17
  db_putdword(val->counter); // <---- OK
18
  db_putdword(val->event->bits->bOnFalling); // <----- NICHT OK
19
}

Frage, wie greift man auf val->event->bits->bOnFalling richtig zu?

von g457 (Gast)


Lesenswert?

> Frage, wie greift man auf val->event->bits->bOnFalling richtig zu?

Vorzugsweise so wies deklariert ist, also z.B. so:
1
db_putdword(val->event.bits.bOnFalling);

Mach Dich mal schlau was der Unterschied zwischen '->' und '.' ist.

HTH

von Simon (Gast)


Lesenswert?

g457 schrieb:
> Mach Dich mal schlau was der Unterschied zwischen '->' und '.' ist.

ich Dachte -> bei pointer und . bei direktem zugriff

von Da D. (dieter)


Lesenswert?

Simon schrieb:
> ich Dachte -> bei pointer und . bei direktem zugriff

Korrekt :-)

Und enthält dein struct irgendwelche pointer?

von Simon (Gast)


Lesenswert?

aaaaaah, Danke

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.