variableninhalt in anweisung benutzen



  • Moinsen,
    folgendes Problem:

    habe eine Variable X in der etwas wie adresse.name gespeichert ist als char[].

    Jetzt möchte ich einen Zeiger auf eben diese Adresse setzen, also etwas in der Form:

    pointer = &X

    nur würde ich so die Adresse von X bekommen, und nicht die Adresse von "adresse.name"

    Der Pointer soll auf den Speicherberich zeigen, wo adresse.name gespeichert ist, nicht auf die Adresse wo X gespeichert ist.

    Jemand ne Idee?

    Vielen Dank im Voraus



  • einfach mit pointer = x;
    dann zeigen beide auf die gleiche Adresse im Speicher, da x ja ein Array ist



  • also nochmal langsamer:

    - ich habe ein struct adresse.
    - ein Pointer der auf struct adresse zeigt
    - eine Variable X mit dem Inhalt "adresse.name"

    jetzt möchte ich folgende anweisung schreiben:

    neuer_pointer = &adresse.name

    NUR: da wo jetzt adresse.name steht (der Inhalt der Variablen 😵 kann auch mal was anderes gefragt sein, je nachdem was in X steht.

    also brächte ich eine Anweisung wie neuer_pointer = &X.

    NUR: DAS würde mir die Adresse von X liefern, NICHT aber die Adresse von adresse.name



  • Ähmm, ich nehmen an, dass X ein struct und .name ein Element dieser ist. Dann eher

    ptr = &X.name;
    


  • So wie ich das sehe ist's so:

    struct adresse {
      char* name;
    };
    struct hausnummer {
      char* nummer;
    };
    
    adresse igro;
    igro.name = 'huhu';
    char X[] = "igro.name"
    
    char* p = X; // -> p zeigt auf "huhu"
    


  • Nö, p zeigt auf "igro.name".

    rettsan schrieb:

    also brächte ich eine Anweisung wie neuer_pointer = &X.

    Tja, dann musst du wohl zu C++ wechseln, dort kannst du op& überladen. 🙂
    Aber mal Spass beiseite, das was du vorhast geht nicht. Zur Laufzeit gibt es keine Variablen mehr, dann gibt es nur noch Speicher und Adressen. Niemand wüsste also mit "adresse.name" irgendwas anzufangen.
    Sag doch mal, wofür du das brauchst. In C braucht man sowas idR nicht.



  • groovemaster schrieb:

    Sag doch mal, wofür du das brauchst. In C braucht man sowas idR nicht.

    Es gibt Anwendungen dafuer in der AI/KI. Aber soetwas schreibt man dann auch nicht in C oder C++ oder einer anderen prozeduallen oder objectorientieren Sprache, sondern in LISP.


Anmelden zum Antworten