Rumah >pembangunan bahagian belakang >C++ >Apakah Perbezaan Antara `ptr `, ` ptr`, ` *ptr` dan `(*ptr) ` dalam C ?
Petunjuk: ptr , ptr, dan *ptr
Ekspresi penunjuk ini sering mengelirukan, jadi mari kita jelaskan makna:
1. *ptr :
Contoh:
int arr[] = {1, 2, 3}; int *ptr = arr; cout << *ptr++; // Outputs 1 and then points to the next element (2)
2. * ptr:
Contoh:
int arr[] = {1, 2, 3}; int *ptr = arr; cout << *++ptr; // Moves the pointer to the next element and outputs 2
3. *ptr:
Awas: Menaikkan nilai, bukan penunjuk ptr.
Contoh:
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) :
Awas: Sama seperti *ptr, ia mempengaruhi nilai, bukan penunjuk itu sendiri.
Contoh:
int *ptr = new int(5); cout << (*ptr)++; // Outputs 5 and updates the dereferenced integer to 6
Atas ialah kandungan terperinci Apakah Perbezaan Antara `ptr `, ` ptr`, ` *ptr` dan `(*ptr) ` dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!