Forum: Mikrocontroller und Digitale Elektronik typedef enum nicht richtig verstanden


von kappier nix (Gast)


Lesenswert?

Hallo Leute,

kann mir mal jemand helfen.
Ich verstehe die "enums" nicht richtig, obwohl ich es schon ein paar mal 
gelesen hab.

Wenn ich sowas habe:

typedef enum     {
             NODAY = 0,
             MONTAG,
             DIENSTAG,
             MITTWOCH,
             DONNERSTAG,
             FREITAG,
             SAMSTAG,
             SONNTAG
   } EWochentag;


Dann hab ich mir eine Variable gemacht: EWochentag day;
Ich will jetzt direkt z.B. Dienstang einen Wert zuweisen, wie geht das?

Bitte helft mir, ich bin zu blöd.

Danke

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

kappier nix schrieb:
> Ich will jetzt direkt z.B. Dienstang einen Wert zuweisen, wie geht das?
Hä? Meinst du vieleicht ein struct einem Enum weißt man nix zu?

Ansonsten:
1
day = DIENSTAG

Wenn du im Enum die Werte fest belegen willst:
1
typedef enum     {
2
             NODAY = 0,
3
             MONTAG,
4
             DIENSTAG = 99,
5
             MITTWOCH,
6
             DONNERSTAG,
7
             FREITAG,
8
             SAMSTAG,
9
             SONNTAG
10
   } EWochentag;

von Thomas P. (tpircher) Benutzerseite


Lesenswert?

1
> typedef enum {
2
    NODAY = 0,
3
    MONTAG,
4
    DIENSTAG,
5
    MITTWOCH,
6
    DONNERSTAG,
7
    FREITAG,
8
    SAMSTAG,
9
    SONNTAG
10
} EWochentag;
11
12
EWochentag day;

Ich verstehe dein problem nicht ganz; hast du schon ein
1
day = MONTAG;
 probiert?

PS: Die Zuweisung = 0 fuer das erste Element im enum ist redundant.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

1
typedef enum 
2
{
3
  NODAY = 0,
4
  MONTAG,
5
  DIENSTAG,
6
  MITTWOCH,
7
  DONNERSTAG,
8
  FREITAG,
9
  SAMSTAG,
10
  SONNTAG
11
} EWochentag;
12
13
14
EWochentag day;
15
16
day = DIENSTAG;

von kappier nix (Gast)


Lesenswert?

Ok, ich hatte einen Knoten im Hirn!
Es ist wirklich ganz einfach:  day = DIENSTAG;

Das wollte ich machen und nix anderes. 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.