Heim >Backend-Entwicklung >C++ >Was ist der Unterschied zwischen „ptr', „ptr', „*ptr' und „(*ptr)' in C?
Zeiger: ptr , ptr und *ptr
Diese Zeigerausdrücke sind oft verwirrend, also lassen Sie uns sie klären Bedeutungen:
1. *ptr :
Beispiel:
int arr[] = {1, 2, 3}; int *ptr = arr; cout << *ptr++; // Outputs 1 and then points to the next element (2)
2. * ptr:
Beispiel:
int arr[] = {1, 2, 3}; int *ptr = arr; cout << *++ptr; // Moves the pointer to the next element and outputs 2
3. *ptr:
Achtung: Erhöht den Wert, nicht den Zeiger ptr.
Beispiel:
int *ptr = new int(5); // Points to a dynamically allocated integer cout << ++*ptr; // Outputs 6 and updates the dereferenced integer to 6
4. Bonus: (*ptr) :
Achtung: Ähnlich wie *ptr wirkt es sich auf den Wert aus, nicht auf den Zeiger selbst.
Beispiel:
int *ptr = new int(5); cout << (*ptr)++; // Outputs 5 and updates the dereferenced integer to 6
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „ptr', „ptr', „*ptr' und „(*ptr)' in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!