Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen i++ und ++i und Beispiele

Der Unterschied zwischen i++ und ++i und Beispiele

angryTom
angryTomOriginal
2020-02-28 10:43:5064516Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn