ที่นี่เราจะเห็นลำดับความสำคัญของ postfix++ และ prefix++ ใน C หรือ C++ ลำดับความสำคัญของคำนำหน้า ++ หรือ -- มีลำดับความสำคัญสูงกว่าตัวดำเนินการ dereference '*' และ postfix ++ หรือ -- มีลำดับความสำคัญสูงกว่าทั้งคำนำหน้า ++ และตัวดำเนินการ dereference '*'
เมื่อ ptr เป็นตัวชี้ ดังนั้น *ptr++ จะระบุ *(ptr++) และ ++*prt อ้างอิง ++(*ptr)
ตัวอย่าง
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; ++*ptr; cout << *ptr; return 0; }
ผลลัพธ์
I
ดังนั้นในตอนแรก ptr จึงชี้ 'H' หลังจากใช้ ++*ptr จะเพิ่ม H ขึ้น 1 และตอนนี้ค่าคือ 'I'
ตัวอย่าง
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *ptr++; cout << *ptr; return 0; }
ผลลัพธ์
e
ดังนั้นในตอนแรก ptr จึงชี้ 'H' หลังจากใช้ *ptr++ จะเพิ่มตัวชี้ ดังนั้น ptr จะชี้ไปที่องค์ประกอบถัดไป ผลลัพธ์คือ 'e'