Hãy để chúng tôi giả sử,
int *p;
int a = 100;
p = &a;
Đoạn mã sau thực sự sẽ làm gì và như thế nào?
p++;
++p;
++*p;
++(*p);
++*(p);
*p++;
(*p)++;
*(p)++;
*++p;
*(++p);
Tôi biết, điều này khá lộn xộn về mặt mã hóa, nhưng tôi muốn biết điều gì sẽ thực sự xảy ra khi chúng tôi viết mã như thế này.
Lưu ý: Giả sử rằng địa chỉ của a=5120300
nó được lưu trữ trong con trỏ p
có địa chỉ 3560200
. Bây giờ, giá trị p & a
sau khi thực hiện mỗi câu lệnh sẽ là bao nhiêu?