Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen i++ und ++i und Beispiele
Der Unterschied zwischen i++ und ++i und Beispiele
Der Unterschied zwischen i++- und ++i-Befehlen ist:
1. Die Reihenfolge der Zuweisung ist unterschiedlich
++ wird zuerst hinzugefügt und dann wird i++ zugewiesen und dann werden beide in zwei Schritten hinzugefügt .
Da ++i im nächsten Schritt zugewiesen wird, kann es als Variable für die Kaskadenzuweisung verwendet werden, ++i = a =b, das heißt, ++i ist ein L-Wert von i++ Es handelt sich um eine automatische Inkrementierung, nicht um einen L-Wert.
Das Bild kann so verstanden werden, dass i++ zuerst andere Dinge tut und dann 1 zu sich selbst hinzufügt, und ++i zuerst 1 zu sich selbst hinzufügt und dann andere Dinge tut.
Empfohlenes Lernen: C-Sprachvideo-Tutorial
Zum Beispiel:
a = ++i, entspricht i= i +1; a = i;
a = i++, was a = i=i+1;
2 entspricht >Zum Beispiel bedeutet i=3, b=i++, dass b=3 ist, nach Abschluss lasse ich 4 werden, b=++i bedeutet, dass ich zuerst 4 werden lasse und dann b=4, darunter ++i ist effizienter als i++ einige. Im Schleifenbereich gibt es im Allgemeinen keinen großen Unterschied zwischen den beiden, Sie müssen jedoch auf den Lebenszyklus und die Änderung des i-Werts im Programmablauf achten.
3. i++ kann nicht als L-Wert verwendet werden, ++i jedoch.Der L-Wert ist der Wert des Ausdrucks, der dem Objekt mit einer bestimmten Speicheradresse im Speicher entspricht, und der R-Wert ist der Wert aller Ausdrücke, die keine L-Werte sind. Im Allgemeinen ist ein L-Wert eine Variable, die auf der linken Seite eines Zuweisungssymbols platziert werden kann.
Aber ob ihm ein Wert zugeordnet werden kann, ist nicht die Grundlage für die Unterscheidung von L-Werten und R-Werten. Beispielsweise ist der const lvalue von C++ nicht zuweisbar, während die Zuweisung eines rvalue als temporäres Objekt zulässig ist. Der grundlegende Unterschied zwischen L-Werten und R-Werten besteht darin, ob die Adresse und der Operator die entsprechende Speicheradresse erhalten dürfen.
Zum Beispiel:
int i = 0; int *p1 = &(++i);//正确 int *p2 = &(i++);//错误 ++i = 1;//正确 i++ = 1;//错误
PHP-chinesische Website, eine große Anzahl von
Einführung in die Programmierung-Tutorials, willkommen zum Lernen!
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen i++ und ++i und Beispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!