folgende schreibweise von pointern normal?



  • *zeiger+=8; //funktioniert
    *zeiger++; //funktioniert nicht!
    (*zeiger)++;// funktioniert!
    for(*zeiger;*zeiger<=23;*zeiger++)// funktionert auch nicht!!
    {}
    

    was mich besonders überrascht ist, dass

    *zeiger++;
    

    nicht ordnungsgemäß funktioniert!
    mit funktionieren meine ich übrigens das manipulieren von inhalten auf die der pointer zeigt....
    naja..
    hat das jetzt nur was mit visual studio zu tun oder ist das immer so?
    kann mir jemand vielleicht erklären , was der compiler aus *zeiger++; macht? wenn er das compiliert?
    danke sehr
    😃 😉



  • Schon mal was von operator precedence gehört?



  • falsches forum

    dein denkfehler ist wie gesagt nur das du die gewichtung der operatoren missachtest

    *zeiger++;
    vermutlich erst das "zeiger++" bevor das * beachtet wird
    darum futioniert dein
    (*zeiger)++;
    da du dort durch die klammern erzwingst das erst das * beachtet wird

    2 * 2 + 7 = 11
    2 * (2 + 7) = 18



  • Mr Evil schrieb:

    (*zeiger)++;
    da du dort durch die klammern erzwingst das erst das * beachtet wird

    Schwachsinn! ! ! Hier erfolgt lediglich eine Konvertierung von ++ in Zeiger.



  • (*zeiger)++;
    da du dort durch die klammern erzwingst das erst das * beachtet wird

    Schwachsinn! ! ! Hier erfolgt lediglich eine Konvertierung von ++ in Zeiger.

    HÄÄÄÄÄÄÄÄÄÄÄÄÄ?



  • Hanno W. schrieb:

    Mr Evil schrieb:

    (*zeiger)++;
    da du dort durch die klammern erzwingst das erst das * beachtet wird

    Schwachsinn! ! ! Hier erfolgt lediglich eine Konvertierung von ++ in Zeiger.

    ne ne das ist kein cast wie z.B.

    int i = (int)4.5
    

    sondern wie schon Mr Evil richtig erkannt eine klammerung der ausführungsreihenfolge. Genau wie in seinem + * beispiel.



  • nathon schrieb:

    ne ne das ist kein cast wie z.B.

    int i = (int)4.5
    

    Doch, und jetzt Schluß mit den Unfug, will nix mehr davon hören.

    Euer Hanno Hastig! ! !



  • Don't troll the troll.



  • ehm - nein - mann kann den ++ operator nicht in irgendwas casten, da es wie der name schon sagt nur ein operator ist
    und zudem muss in einem cast ein typ stehen, und keine variable



  • Mr Evil schrieb:

    ehm - nein - mann kann den ++ operator nicht in irgendwas casten, da es wie der name schon sagt nur ein operator ist
    und zudem muss in einem cast ein typ stehen, und keine variable

    Uiii...das habe ich nicht gewusst :p


Log in to reply