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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren