Wert des Bytes erhöhen, auf den der Pointer zeigt



  • irgendwie steht ich grad aufm Schlauch,
    wenn ich einen Pointer hab:

    char *example = irgendeine_Adresse;
    

    zeigt der an irgendeine Adresse,
    will ich jetzt dass der Pointer auf das nächste Byte (char) zeigt, schreib ich:

    *example++;
    

    aber was muss ich nun schreiben wenn ich das Byte, auf das der Pointer zeigt um eins erhöhen will?

    eigentlich spricht man ja den Wert auf den gezeigt wird mit dem * an,
    aber damit erhöht man ja die Adresse auf die gezeigt wird

    das passt irgendwie nicht in mein Bild, hätte ichs nicht nachgelesen,
    hätte ich mit

    example++;
    

    versucht die Adresse zu erhöhen

    also

    1. warum muss man um die Adresse zu erhöhen ein * vorstellen?
    2. wie erhöhe ich nun das Byte auf das gezeigt wird?


  • ++(*example);
    


  • scales of justice schrieb:

    1. warum muss man um die Adresse zu erhöhen ein * vorstellen?

    muss man nicht, 'example++' reicht.



  • muss man nicht, 'example++' reicht.

    ah stimmt, das tuts

    aber wie erhöht man einen Wert nun?
    xxxblubxxx Antwort scheint nicht komplett zu sein

    mit

    *example = 7;
    

    kann man ihn setzen,
    aber mit

    *example++;
    

    nicht erhöhen,
    dabei ist das doch das gleiche wie

    *example = *example + 1;
    

    und das ist doch das gleiche wie ihn direkt mit der 7 zu setzen,
    das ergibt doch keinen sinn



  • scales of justice schrieb:

    xxxblubxxx Antwort scheint nicht komplett zu sein

    Warum?
    Hast Du es ausprobiert?

    Achja, eine Variation:

    (*example)++;
    

    Mit *example++ dereferenzierst Du den char an der alten Adresse und erhöhst dann die Adresse.



  • jetzt blick ichs,
    ich dachte mit (*example) ist ein cast gemeint,
    aber das ganze liegt daran, dass ++ vor * geht



  • scales of justice schrieb:

    aber das ganze liegt daran, dass ++ vor * geht

    so ist das. guckst du: http://www.difranco.net/cop2220/op-prec.htm


Anmelden zum Antworten