ที่นี่เราจะเห็นลำดับความสำคัญของ 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'