Heim > Artikel > Backend-Entwicklung > Was bedeutet C-Sprache *p++?
[*p++] bedeutet, zuerst die Daten in der Adresseinheit herauszunehmen, auf die der Zeiger p zeigt, und dann 1 zum Wert hinzuzufügen, da der Operator [*] eine höhere Priorität hat als der Operator [. ++] Daher werden zuerst die Daten in der Adresseinheit genommen, auf die der Zeiger p zeigt, und dann werden die Daten an der nächsten Stelle genommen, auf die p zeigt.
*p++
bedeutet, zuerst die Daten in der Adresseinheit herauszunehmen, auf die der Zeiger p zeigt, und dann 1 zum Wert hinzuzufügen Priorität des Operators * Höher als Operator ++, daher werden zuerst die Daten in der Adresseinheit genommen, auf die der Zeiger p zeigt, und dann zeigt p auf die Daten an der nächsten Stelle. [Empfohlenes Tutorial: C++-Tutorial]
Da Operator * eine höhere Priorität hat als Operator ++, werden zuerst die Daten in der Adresseinheit genommen, auf die der Zeiger p zeigt. Die Details lauten wie folgt:
1. Ermitteln Sie den Wert der aktuellen Position des Arrays.
2. Dann zeigt p auf die Daten an der nächsten Position.
Das Code-Operationsdiagramm lautet wie folgt:
*p++: * und ++ sind beide gleichrangige Operatoren, rechtsassoziativ. ++ wird jedoch erst berechnet, wenn der gesamte Ausdruck berechnet wurde. Extrahieren Sie zunächst den Wert des Objekts, auf das P zeigt, und führen Sie dann die ++-Operation für P aus, um auf das nächste Objekt zu zeigen.
* (P++): Dies ist etwas verwirrend. ++ muss nach der Berechnung des gesamten Ausdrucks hinzugefügt werden, daher wird der Objektwert, auf den P zeigt, immer noch extrahiert Extraktion, P zeigt nach unten.
(*p)++: Sie erhalten zuerst den Wert und dann ist der Wert ++; Der Wert ist +.
Warum sind einige Werte und andere Adressen? Dies ist die Rolle von Klammern, die sie als Ganzes verbinden. Schauen Sie sich auch die Kombination an.
Das obige ist der detaillierte Inhalt vonWas bedeutet C-Sprache *p++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!