Ich hab den Unterschied so verstanden:
Ein Datentyp definiert einen Wertebereich und die damit verbundenen möglichen Operationen, z.B. Zahlen (Wertebereich), Addition, Subtraktion (Operationen).
Eine Datenstruktur fasst Datentypen zusammen und bietet ebenfalls Operationen an z.B. Stack (Push, Pop). Basiert bzw. benötigt also Datentypen.
Wenn ich in Java also z.B. eine Klasse Person habe und diese hat jetzt einfach nur ein Alter (int Datentyp) und einen Namen (String) und davon ein Objekt erzeuge:
Person p = new Person(18, "Hanswurst");
p ist ja ein Referenzdatentyp. Ein Referenzdatentyp beinhaltet "Adressen" (Wertebereich), Operationen (Vergleich mit ==). Person selbst, was jetzt referenziert wird ist dann aber eine Datenstruktur, richtig? Da ja Datentypen von dieser gekapselt werden.
Hab ich das so richtig verstanden? Bei meinen Recherchen habe ich auch oft gefunden, dass die beiden Wörter oft Synonym benutzt werden, aber das ist ja wohl sicher nicht Sinn der Sache
Ein Datentyp definiert einen Wertebereich und die damit verbundenen möglichen Operationen, z.B. Zahlen (Wertebereich), Addition, Subtraktion (Operationen).
Eine Datenstruktur fasst Datentypen zusammen und bietet ebenfalls Operationen an z.B. Stack (Push, Pop). Basiert bzw. benötigt also Datentypen.
Wenn ich in Java also z.B. eine Klasse Person habe und diese hat jetzt einfach nur ein Alter (int Datentyp) und einen Namen (String) und davon ein Objekt erzeuge:
Person p = new Person(18, "Hanswurst");
p ist ja ein Referenzdatentyp. Ein Referenzdatentyp beinhaltet "Adressen" (Wertebereich), Operationen (Vergleich mit ==). Person selbst, was jetzt referenziert wird ist dann aber eine Datenstruktur, richtig? Da ja Datentypen von dieser gekapselt werden.
Hab ich das so richtig verstanden? Bei meinen Recherchen habe ich auch oft gefunden, dass die beiden Wörter oft Synonym benutzt werden, aber das ist ja wohl sicher nicht Sinn der Sache