Heim > häufiges Problem > Was ist der Unterschied zwischen *p++ und (*p)++?

Was ist der Unterschied zwischen *p++ und (*p)++?

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2023-05-23 11:48:19
Original
8788 Leute haben es durchsucht

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.

Was ist der Unterschied zwischen *p++ und (*p)++?

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 :

  1. *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.

  2. (*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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage