Heim > Backend-Entwicklung > C++ > Was ist der Unterschied zwischen „ptr', „ptr', „*ptr' und „(*ptr)' in C?

Was ist der Unterschied zwischen „ptr', „ptr', „*ptr' und „(*ptr)' in C?

Susan Sarandon
Freigeben: 2024-12-20 03:52:13
Original
457 Leute haben es durchsucht

What's the Difference Between `ptr  `, `  ptr`, `  *ptr`, and `(*ptr)  ` in C  ?

Zeiger: ptr , ptr und *ptr

Diese Zeigerausdrücke sind oft verwirrend, also lassen Sie uns sie klären Bedeutungen:

1. *ptr :

  • Dereferenziert den Zeiger ptr und gibt den Wert zurück, auf den gezeigt wird.
  • Inkrementiert den Zeiger ptr, um auf das nächste Element zu zeigen.

Beispiel:

int arr[] = {1, 2, 3};
int *ptr = arr;
cout << *ptr++; // Outputs 1 and then points to the next element (2)
Nach dem Login kopieren

2. * ptr:

  • Inkrementiert zuerst den Zeiger ptr und verschiebt ihn zum nächsten Element.
  • Dann wird der aktualisierte Zeiger geändert und der angezeigte Wert zurückgegeben zu.

Beispiel:

int arr[] = {1, 2, 3};
int *ptr = arr;
cout << *++ptr; // Moves the pointer to the next element and outputs 2
Nach dem Login kopieren

3. *ptr:

  • Dereferenziert den Zeiger ptr und gibt den Wert zurück, auf den gezeigt wird.
  • Erhöht dann den dereferenzierten Wert.

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
Nach dem Login kopieren

4. Bonus: (*ptr) :

  • Erzwingt die Dereferenzierung von ptr, wodurch der Wert, auf den verwiesen wird, erhalten wird.
  • Erhöht den dereferenzierten Wert.

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
Nach dem Login kopieren

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage