Strukturierte Datentypen I
Bei der Programmierung in C stößt du oftmals an deine Grenzen, wenn du dich bei den Unmengen an Datensätzen und Variablen zurechtfinden musst? Hier zeigen wir dir wie du mithilfe strukturierter Datentypen Ordnung in das Datenchaos bekommst!
Inhaltsübersicht
Zusammensetzung aus einzelnen primitiven Typen
Strukturierte Datentypen können dir das Leben stark vereinfachen, denn sie gehen über primitive Datentypen hinaus. Genauer gesagt setzen sie sich aus mehreren individuellen Elementen dieser primitiven Typen zusammen. Das ist enorm praktisch, da es dir die Kreation eigener Typen aus diesen Zutaten ermöglicht.
Erstellung eines strukturierten Datentyps
Um einen strukturierten Datentyp zu erstellen, reihen wir einige Variablen verschiedener, primitiver Datentypen aneinander. Die Gesamtlänge des so entstandenen Gebildes entspricht dann der Summe der Länge der einzelnen Bestandteile. Verwendet werden solche Gebilde vor allem für zusammengehörige Datensätze wie zum Beispiel für alle Daten eines Mitarbeiters einer Firma oder alle Eigenschaften eines Produkts im Supermarkt. In anderen Programmiersprachen bezeichnet man diese Strukturen auch als „Records“.
Anwendung strukturierte Datentypen
Aber warum solltest du sie verwenden? Die Organisation und das Zusammenfassen von Werten unter einem Konstrukt vereinfacht die Pflege und Bearbeitung von Code ungemein. Denn du kommst mit sehr viel weniger individuellen Variablen aus. Damit reduzierst du das Chaos auf ein Minimum. Gleichzeitig vereinfachst du die Anpassung der Attribute eines solchen, selbst definierten Typs.
Deklarieren von eigenen Typen
Die Deklaration deiner eigenen Typen kann auf verschiedene Weisen erfolgen. Alle diese Methoden verwenden aber den struct-Befehl. Dieser Befehl ist wahlweise gefolgt von einem Namen für den zu deklarierenden Typ. Diese werden in Fachsprache auch tags genannt. Danach folgen in geschweiften Klammern die gewünschten, zu umfassenden Variablen.
Wenn du das Objekt eines solchen Typs dann abspeicherst, kann es dazu kommen, dass der tatsächliche Speicherbedarf für die Struktur höher ausfällt, als berechnet. Das liegt daran, dass der Compiler automatisch dafür sorgt, dass alle Bestandteile dieses Konstrukts an der bestmöglichen Stelle beginnen. Das hat meist keine Auswirkungen auf dein Programm, also kannst du es getrost ignorieren. Solltest du jedoch einmal die konkrete Größe eines solchen Typs benötigen, kannst du sie problemlos mittels des sizeof Befehls ermitteln.
Innerhalb der Struktur selbst wird jede einzelne Variable ganz normal deklariert, jedoch kannst du keine Speicherklasse für sie angeben. Das heißt: Du kannst sie zum Beispiel nicht als static deklarieren. Außerdem ist es dir nicht möglich, innerhalb der Struktur diese Variablen zu initialisieren.
Jetzt weißt du, wie du die Schablone für deine eigenen Strukturen erstellst. Im nächsten Video zeigen wir dir dann, wie du sie nutzen kannst.