en:pfw:struct
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| en:pfw:struct [2026-01-02 18:38] – created mka | en:pfw:struct [2026-01-02 19:19] (current) – [STRUCT und PERIPH in Forth] layout mka | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| **Structs** (kurz für „structures“ oder auf Deutsch „Strukturen“) sind ein grundlegendes Konzept in vielen Programmiersprachen, | **Structs** (kurz für „structures“ oder auf Deutsch „Strukturen“) sind ein grundlegendes Konzept in vielen Programmiersprachen, | ||
| + | ### 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, | ||
| + | * Zugriff auf Felder erfolgt mit dem Punkt-Operator `.` (bei Zeigern mit `->`). | ||
| - | ### Was sind Structs genau? | + | ### Beispiel in C (der klassischen Sprache für Structs)### |
| - | - 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, | + | |
| - | + | ||
| - | ### Beispiel in C (der klassischen Sprache für Structs) | + | |
| ```c | ```c | ||
| #include < | #include < | ||
| Line 32: | Line 32: | ||
| } | } | ||
| ``` | ``` | ||
| - | - Zugriff auf Felder erfolgt mit dem Punkt-Operator `.` (bei Zeigern mit `->`). | + | . |
| ### Structs in anderen Programmiersprachen | ### 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). | + | * **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. ((„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. | 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. ((„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. | ||
| )) | )) | ||
| + | ===== STRUCT und PERIPH in Forth ===== | ||
| + | Hans Eckes hat 2025 in Burladingen auf der Forth-Tagung über Structs und Peripherals referiert. Die Folien seines Vortrags und den Quelltext mit Beispielen haben wir hier für euch zugänglich gemacht. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Der Vortrag konzentriert sich auf **Peripherie**, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Der Quelltext stammt ursprünglich von seinem Embedded-Forth (alles in ARM-Assembler), | ||
| + | |||
| + | Der Quelltext ist dafür gedacht, von jedem der mag, gelesen und angepasst zu werden. Hans erklärt Idee, Syntax, und Anwendung in den Kommentaren. | ||
| + | |||
| + | Bitte verwende den Quelltext in diesem Sinne: lesen, anpassen, verwenden, weitergeben. | ||
en/pfw/struct.1767375491.txt.gz · Last modified: 2026-01-02 18:38 by mka