Was ist der Unterschied zwischen struct und typedef struct
-
Hallo,
wir sollen die 4 Werte
string Datum;
string Ort;
int Messwert;
int Messzyklus;zu einer struct zusammenfassen die "Messdaten" heißt.
Was ist der Unterschied zwischen struct und typedef struct und wie sieht das dann jeweils aus.
Danke
-
wenn du nur struct benutzt, musst du, wenn du diese struct dann verwenden willst (also variablen deklarierst), vorher noch struct schreiben:
struct meine_struct { int a; ... } ; struct meine_struct instanz_meiner_struktur; instanz_meiner_struktur.a = 12345;
wenn du typedef benutzt, ersparst du dir das struct:
typedef struct { int a; ... } meine_struct; meine_struct instanz_meiner_struktur; instanz_meiner_struktur.a = 12345;
in C++ ist das unerheblich, da geht auch die erste version, ohne dass du bei der variablen-deklaration struct davor schreiben musst... und da du string verwendest, scheinst du auch aus der C++ Ecke zu kommen
Im allgemeinen würde ich dir die zweiter Version empfehlen.
In deinem konkreten Beispiel würde das wiefolgt aussehen:
typedef struct { string Datum; string Ort; int Messwert; int Messzyklus; } messung; messung erste_messung; // zweite messung mal direkt initialisieren messung zweite_messung = { "13.05.2004", "Irgendwo", 12345, 12345 }; int main (void) { erste_messung.Ort = "Labor"; // usw. }
ich hoffe, damit kannst du was anfangen
-
Fuer die Verwendung von typedefs spricht, dass die Lesbarkeit deines Programms verbessert wird, vor allem wenn komplexe Datentypen einen Namen erhalten.
Ein weiterer Vorzug ist, dass maschinenabhaengige Typen isoliert werden koennen.
Bei der Portierung eines Programms auf einen anderen Rechner muss der maschinenabhaengige Datentyp nur einmal in der typedef-Definition geaendert werden.MfG
Raptor