Der Unterschied zwischen *p++ und (*p)++ ist: 1. *p++ ist eine Kombination aus Postfix-Inkrementoperatoren, (*p)++ ist ein Postfix-Inkrementoperator, der auf den *p-Ausdruck angewendet wird Formel; 2. Der *p++-Ausdruck gibt zuerst den Wert zurück, auf den „p“ zeigt, und erhöht dann „p“. (*p)++ gibt den Wert zurück, auf den „p“ zeigt, und erhöht dann den Wert.
Das Betriebssystem für dieses Tutorial: Windows 10-System, C18-Version, Dell G3-Computer.
Der Unterschied zwischen *p++ und (*p)++
*p++ und (*p)++ sind zwei verschiedene Ausdrücke Formel :
*p++: Dies ist eine Kombination aus Postfix-Inkrementoperatoren. Zunächst dereferenziert der *p-Ausdruck den Zeiger p und gibt den Wert zurück, auf den der Zeiger zeigt. Anschließend wird der Zeiger p inkrementiert und zeigt auf das nächste Element. Daher gibt dieser Ausdruck zunächst den Wert zurück, auf den p zeigt, und erhöht dann p.
(*p)++: Dies ist ein Postfix-Inkrementoperator, der auf *p-Ausdrücke angewendet wird. Zuerst dereferenziert (*p) den Zeiger p und gibt den Wert zurück, auf den der Zeiger zeigt. Anschließend wird der Wert erhöht. Daher gibt dieser Ausdruck zunächst den Wert zurück, auf den p zeigt, und erhöht diesen Wert dann.
Hier ist ein Beispielcode, um den Unterschied zwischen den beiden zu veranschaulichen:
#include <iostream> int main() { int arr[] = {1, 2, 3}; int* p = arr; std::cout << *p++ << std::endl; // 输出: 1 std::cout << *p << std::endl; // 输出: 2 p = arr; std::cout << (*p)++ << std::endl; // 输出: 1 std::cout << *p << std::endl; // 输出: 2 return 0; }
Im obigen In Im Beispiel gibt *p++ zunächst den Wert 1 aus, auf den p zeigt, und erhöht dann p zum nächsten Element, sodass p nun auf 2 zeigt. Und (*p)++ gibt zuerst den Wert, auf den p zeigt, 1 aus und erhöht dann den Wert. Jetzt ist der Wert, auf den p zeigt, 2. Dies zeigt den Unterschied zwischen den beiden.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen *p++ und (*p)++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!