mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik typedef enum nicht richtig verstanden


Autor: kappier nix (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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:
day = DIENSTAG

Wenn du im Enum die Werte fest belegen willst:
typedef enum     {
             NODAY = 0,
             MONTAG,
             DIENSTAG = 99,
             MITTWOCH,
             DONNERSTAG,
             FREITAG,
             SAMSTAG,
             SONNTAG
   } EWochentag;

Autor: Thomas Pircher (tpircher) Benutzerseite
Datum:

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

EWochentag day;

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

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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

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


EWochentag day;

day = DIENSTAG;

Autor: kappier nix (Gast)
Datum:

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

Das wollte ich machen und nix anderes. Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.