User Tools

Site Tools


en:pfw:struct

**This is an old revision of the document!**

Struct

Structs (kurz für „structures“ oder auf Deutsch „Strukturen“) sind ein grundlegendes Konzept in vielen Programmiersprachen, insbesondere in C, wo sie ursprünglich eingeführt wurden. Sie dienen dazu, zusammengehörige Daten unterschiedlicher Typen zu einem neuen, benutzerdefinierten Datentyp zu bündeln.

Was sind Structs genau?

- Ein Struct ist eine Sammlung von Variablen (auch Felder oder Member genannt), die unter einem gemeinsamen Namen gruppiert werden. - Im Gegensatz zu Arrays können die Felder unterschiedliche Datentypen haben (z. B. int, char, float, Zeiger usw.). - Sie helfen, komplexe Daten übersichtlich zu organisieren, z. B. Informationen zu einer Person (Name, Alter, Adresse).

Beispiel in C (der klassischen Sprache für Structs)

snippet.c
#include <stdio.h>
#include <string.h>
 
struct Person {          // Definition des Structs
    char name[50];
    int alter;
    float groesse;
};
 
int main() {
    struct Person p1;    // Instanz erstellen
 
    strcpy(p1.name, "Anna");
    p1.alter = 25;
    p1.groesse = 1.68;
 
    printf("Name: %s, Alter: %d, Größe: %.2f m\n", p1.name, p1.alter, p1.groesse);
 
    return 0;
}

- Zugriff auf Felder erfolgt mit dem Punkt-Operator . (bei Zeigern mit ->).

Structs in anderen Programmiersprachen

- C++: Fast identisch zu C, aber Structs können auch Methoden, Konstruktoren und Vererbung enthalten (ähnlich wie Klassen; der Hauptunterschied ist, dass Member standardmäßig public sind). - Rust: Structs sind zentral und sehr sicher. Es gibt named structs, tuple structs und unit structs. Sie unterstützen Methoden über impl-Blöcke. - Go: Ähnlich, structs gruppieren Felder; Methoden werden separat definiert. - C#: struct ist ein Werttyp (im Gegensatz zu Klassen, die Referenztypen sind).

Structs sind also ein universelles Werkzeug, um Daten zu strukturieren und Code lesbarer zu machen. Sie stammen aus C und wurden in vielen modernen Sprachen übernommen oder erweitert. 1)

1)
„Konstrukt“ unterscheidet sich von „Konstruktion“ dadurch, dass es stärker den Ergebniszustand (das fertige Gebilde, oft abstrakt oder künstlich) betont, während „Konstruktion“ eher den Prozess oder die Bauweise meint.
en/pfw/struct.1767375491.txt.gz · Last modified: 2026-01-02 18:38 by mka