auf strukturelemente zugreifen



  • Caligulaminus schrieb:

    Dann ist hier d ein int(32)* das auf die untere Hälfte eines int(64) zeigt um hinterher nach inkrementierung dieser auf die obere zu zeigen?

    Ja, den Ausdruck haste gelöst, aber das while vergessen. Es seollte nicht auf int64 beschrängt sein, sondern für int32[1000] gehen, das Inkrementieren stoppt, sobald einmal kein Übertrag geschieht, was auch vorher sichergestellt wird. Also das while hast Du nicht beantwortet.



  • Da hakt's noch...

    Dann bezöge sich das vordere ++ auf d, das ! aber auf *d.

    Bisher war meine Reihenfolge:
    - postfix ++ auf *d
    - präfix ++ auf d
    - und dann !d

    Wo liege ich falsch?



  • Caligulaminus schrieb:

    Wo liege ich falsch?

    Vielleicht habe ich Klammern vergessen. Den Code habe ich nicht getestet, das Original ist nicht mehr auf meinen Platten, fürchte ich.
    Außerdem war das Original, glaube ich, sogar Dekrementieren, was dem Audruck noch einen ~ verpaßt hat.



  • Caligulaminus schrieb:

    Bisher war meine Reihenfolge:
    - postfix ++ auf *d
    - präfix ++ auf d
    - und dann !d

    Ich dachte
    - postfix ++ auf d
    - präfix * auf d++
    - präfix ++ auf *d++
    - und dann präfix ! auf ++*d++

    Ein Blick auf http://www.cppreference.com/wiki/language/operator_precedence scheint das auch zu bestätigen. Bin aber nicht sicher, sondern im Moment zu hungrig für sowas.



  • ielleicht habe ich Klammern vergessen. Den Code habe ich nicht getestet...

    Ah! Das erklärt dann meine Verwirrung.

    Danke für den Zeitvertreib 🙂

    C.



  • volkard schrieb:

    Ich dachte
    - postfix ++ auf d
    - präfix * auf d++
    - präfix ++ auf *d++
    - und dann präfix ! auf ++*d++

    Ein Blick auf http://www.cppreference.com/wiki/language/operator_precedence scheint das auch zu bestätigen. Bin aber nicht sicher, sondern im Moment zu hungrig für sowas.

    Hmm,

    postfix ++ bindet zwar stärker als *, wirkt sich aber erst danach aus (postfix ++ eben).
    Sonst würde doch die ganze Logik in deinem Konstrukt (erst referenziertes int inkrementieren...) platzen.

    Oder übersehe ich da was?

    Naja. Wie auch immer...

    Guten Appetit. Ich werde jetzt auch erstmal essen.


Anmelden zum Antworten