Structur Pointer: Wert auslesen



  • Hallo,
    also ich habe 2 Strukturen, dabei ist einer wie ein Binärer Baum/Graph aufgebaut:

    struct points {
       int id; //Primary Key
       int wert;
    
       struct point_tb *left;
       struct point_tb *right;
    };
    

    Dann habe ich eine 2. Struktur:

    struct open {
       int f; 
       struct points *point;     
    };
    

    Dabei soll in der 2. Struktur point auf einen Point in points verweisen.

    Bsp:

    points:
                       10
                      /  \
                     5    12
                    / \    \
                   3   6    19
    
    open:
      f  | point->id
      5  |  10
      4  |  12
      8  |  19
    .....
    

    So wenn ich jetzt einen bestimmten Wert aus 'open' auswähle, wie kann ich dann auf die ID, bzw. auf die ganze Struktur, auf die 'point' verweist.

    Ich habe mir das so vorgestellt:

    open->point->id; //Gibt die ID des Punktes aus auf die 'point' in 'open' verweist
    open->point->wert; //Gibt den Wert des Punktes aus auf....
    

    Leider funktioniert das nicht so, Compiler sagt:
    request for member `point' in something not a structure or union

    Also wie siegt die Abfrage richtig aus?

    P.S. Ich kann dies _nicht_ in 1 Struktur lösen.

    Edit by c.rackwitz: cpp-Tags sind auch fuer C gedacht



  • sorry, aber was soll "struct open" sein? ich verstehe dich nicht.

    gib bitte kompilierbaren aber minimalen beispielcode zum veranschaulichen.



  • open ist ein struct, du willst wahrscheinlich sowas

    struct open * popen;
    ....
    popen->point->id; //Gibt die ID des Punktes aus auf die 'point' in 'open' verweist
    popen->point->wert; //Gibt den Wert des Punktes aus auf....
    

    Kurt


Anmelden zum Antworten