Startwerte eines struct



  • Hallo,

    ich wüsste gerne wie ich die Werte der Attribute eines struct bei Erstellung festlege? Beispielsweise das die Variable "bewertung" den Wert 50 hat sobald das struct erstellt wurde.

    struct knoten {

    char konfig[7][7][13];
    int mutter;
    int bewertung;
    int ebene;
    };



  • Ich glaube nicht das das geht, da ja die Struktur noch nicht besteht und sozusagen noch keinen Speicherplatz reserviert hat. Du definierst ja nur den Aufbau. Also müsstest du dir eine Initialisierungsfunktion schreiben.



  • wenn du mit zeigern arbeitest, dann gibt es die möglichkeit eine funktion dafür zu schreiben, die das für dich erledigt.

    struct knoten* makeKnoten() {
    struct knoten* tmp = malloc(sizeof(struct knoten));
    tmp->mutter= .... ;
    tmp->bewertung = .... ;
    /* weitere initialisierung */
    .....
    
    return tmp;
    }
    
    struct knoten* test = makeKnoten();
    

    test ist dann ein der zeiger auf den knoten mit deinen standardwerten, die du in makeKnoten festgelegt hast.

    aber am ende des programms nicht vergessen, den speicher wieder freizugeben 😉


Anmelden zum Antworten