3 Pluspunkte 0 Minuspunkte
Wie kann ich eine Struktur erstellen die selbst eine andere Struktur beinhaltet und diese als Parameter an eine Funktion übergeben?
bezieht sich auf eine Antwort auf: Was ist ein struct
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In diesem Beispiel sind 2 Strukturen, eine innere Struktur InnerStruct, die eine einzige Variable innerValue enthält, und eine äußere Struktur OuterStruct, die sowohl outerValue als auch eine Instanz von InnerStruct namens inner enthält. Die Funktion printStruct nimmt eine Instanz von OuterStruct als Parameter und gibt sowohl den Wert von outerValue als auch den Wert von innerValue aus.

#include <stdio.h>

// Definition der inneren Struktur
struct InnerStruct {
    int innerValue;
};

// Definition der äußeren Struktur, die die innere Struktur enthält
struct OuterStruct {
    int outerValue;
    struct InnerStruct inner;
};

// Funktion, die eine Struktur verwendet
void printStruct(struct OuterStruct s) {
    printf("Outer Value: %d\n", s.outerValue);
    printf("Inner Value: %d\n", s.inner.innerValue);
}

int main() {
    // Initialisierung der Strukturen
    struct OuterStruct myStruct;
    myStruct.outerValue = 100;
    myStruct.inner.innerValue = 200;

    // Aufruf der Funktion und Übergabe der Struktur
    printStruct(myStruct);

    return 0;

}
von (776 Punkte)