Ở đây chúng ta sẽ thấy thứ tự ưu tiên của postfix ++ và prefix ++ trong C hoặc C ++. Mức độ ưu tiên của tiền tố ++ hoặc - có mức ưu tiên cao hơn toán tử dereference ‘*’ và hậu tố ++ hoặc - có mức ưu tiên cao hơn cả tiền tố ++ và toán tử dereference ‘*’.
Khi ptr là một con trỏ, thì * ptr ++ chỉ ra * (ptr ++) và ++ * prt tham chiếu đến ++ (* ptr)
Ví dụ
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; ++*ptr; cout << *ptr; return 0; }
Đầu ra
I
Vì vậy, ở đây lúc đầu ptr là trỏ ‘H’. sau khi sử dụng ++ * ptr, nó tăng H lên 1 và bây giờ giá trị là ‘I’.
Ví dụ
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *ptr++; cout << *ptr; return 0; }
Đầu ra
e
Vì vậy, ở đây lúc đầu ptr là trỏ ‘H’. sau khi sử dụng * ptr ++ nó tăng con trỏ, vì vậy ptr sẽ trỏ đến phần tử tiếp theo. vì vậy kết quả là ‘e’.