Zitat Zitat von Darkthief
Was ich jetzt nur wissen wollte:
ist
(*zi) += 5;
dasselbe wie
i += 5;
?
Wenn ich davon ausgehen darf, dass "zi" ein Zeiger auf "i" ist, dann sind beide oben beschriebenen Ausdrücke äquivalent.

Zitat Zitat von Darkthief
ich habs grat getestet und versteh jetzt echt nicht, warum (*i)++ was verändert und i++ nicht -.-
Ich hab's selbstverständlich auch getestet bevor ich es gepostet habe (kompilieren kostet mich sowieso nur einen Befehl im Terminal).

Zitat Zitat von Darkthief
außerdem:
(*i)++;
dürfte doch garnichts verändern, da ja das postfix increment verwendet
wird.
Wir fassen zusammen:
zi++;
erhöht den Zeiger um eins.
ASCII-Grafik (RiDER ist mein Idol )
Code:
---+                zi (vom Typ int *) zeigt auf...
   |
 _ # _ _ _ _ _      Speicher

zi++;

-----+              zi (vom Typ int *) zeigt auf...
     |
 _ _ # _ _ _ _ _    Speicher
*zi;
Gibt eine Integer-Variable zurück, welche den Speicherbereich mit "i" Teilt.
Eine Veränderung dieses Speicherbereies (zB. durch inkrementation) hat eine Änderung aller Variablen zu folge, die diesen Speicherbereich teilen.

Kurz gesagt:
*zi und i sind äquivalent, weil sie sich den selben Speicherbereich teilen.


PS: sorry für die späte Antwort - der Topic ist irgendwie unter den anderen untergegangen


mfG. BlackBerry