Struktur in Struktur für Datum ?
-
Hallo,
ich habe hier ein Übungsblatt vorliegen.Ich soll eine Struktur mit Komponenten:
- Name
- Datum (Tag,Monat,Jahr)
.
.erstellen.
Nun ist die Frage, wie ich mit dem Datum realisiere.
Kann ich mit Unterstruktur realisieren oder gibt es andere Wege?Ich würde es so machen:
struct daten{ char Name; struct datum{ int tag; int monat; int jahr; }; };
Außerdem verstehe ich immer noch nicht den Unterschied zwischen:
struct daten{ };
struct { }daten;
typedef struct daten{ }daten_t;
typedef struct daten{ };
Danke
-
struct daten{ };
Definiert eine Struktur mit Namen daten.
struct { }daten;
Definiert eine namenlose Struktur und erstellt eine Instanz dessen namens daten.
typedef struct daten{ }daten_t;
Definiert eine Struktur mit Namen daten, anschließend definiert daten_t als selbiges.
typedef struct daten{ };
Unvollständige Version des letzteren, sinnlos.
Nach diesen Erklärungen sollte folgendes das sein (oder so ähnlich), was du erstrebst:
struct daten{ char name[128]; struct{ unsigned char tag, monat; short int jahr; }datum; };
Dem Namen wird 127 Zeichen (+Terminierungszeichen) Platz gegeben, dem Datum werden passende Datentypen zugeordnet, um Speicher zu sparen.
-
Du kannst natürlich auch eine struct datum vorher definieren (kann man ja immer mal gebrauchen) und diese dann daten einbinden.
typedef struct datum { short int jahr; unsigned char tag, monat; } datum_t; struct daten { datum_t datum; char name[128]; };
-
dankeschön euch beiden. sehr verständlich erklärt.