enum in struct

#2134168
Lesenswert?
• ▲
▼
Was verstehst du unter 'zusammenfassen'


Eine Struktur ist eine Sammlung von mehreren Variablen, die durch die 
Struktur zu einem Paket geschnürt werden und somit ausgedrückt wird, 
dass diese Dinge zusammengehören.

Ein Tagesdatum besteht nun mal immer aus Tag, Monat und Jahr.
Durch eine Struktur wird genau das ausgedrückt

struct Datum {
   int   day;
   int   month;
   int   year;
};

und damit ist klar, dass wenn von einem Datum die Rede ist

  struct Datum Geburtstag;

dass dieser Geburtstag damit aus Tag/Monat/Jahr besteht

  Geburtstag.day = 6;
  Geburtstag.month = 4;
  Geburtstag.year = 1976;

und was immer ich auch mit dem Geburtstag als ganzes mache:

  struct Date Versicherungsbeginn;

  Versicherungsbeginn = Geburtstag;

bezieht sich auf den Geburtstag als Ganzes (also auf die 
Zusammenstellung Tag/Monat/Jahr).


Ein struct trifft aber keine Auswahl, von welchem Datentyp seine Member 
sind. Man kann da Member-Variablen von jedem beliebigen Datentyp 
reinstecken. Auch enum oder andere struct oder was auch immer

enum Farbe { blond, braun, bruenett, schwarz, rot, bunt }

struct Person {
  char         Vorname[50];
  char         Nachname[50];
  enum Farbe   Haarfarbe;
  struct Datum Geburtstag;
};

Wenn von einer Person die Rede ist, dann ist damit automtisch immer von 
einem Gebilde die Rede, das aus Vorname, Nachname, Haarfarbe und 
Geburtstag besteht. Der Geburtstag seinerseits besteht wieder aus Tag, 
Monat und Jahr.

Darunter tut sich nichts. Eine Person hat immer diese Teile und wenn ich 
eine Person an eine Funktion übergebe, dann wird auch von dieser Person 
als Ganzes eine 1:1 Kopie erzeugt, egal aus wievielen oder welchen 
Teilen diese besteht.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.