int t[10];
int * u = t;
cout << t << " " << &t << endl;
cout << u << " " << &u << endl;
đầu ra:Địa chỉ của mảng
0045FB88 0045FB88
0045FB88 0045FB7C
Kết quả cho u
có ý nghĩa.
Tôi hiểu rằng t
và &t[0]
phải có cùng giá trị, nhưng cách thức đến &t
cũng giống nhau? & t thực sự có nghĩa là gì?
¤ Sự khác biệt duy nhất giữa 't' được chuyển thành con trỏ và' & t', là loại con trỏ. Tham chiếu của sau này là chính thức của kiểu mảng, do đó, thêm 1 để nó di chuyển nó khá một chút (đến mảng tiếp theo trong bộ nhớ).Trong khi tham chiếu của cựu là loại phần tử. Thuật ngữ: trong nhóm [comp.lang.C++] Usenet có một số tranh cãi về việc liệu một con trỏ như 'u' của bạn có thể được gọi là" trỏ tới "mảng đó, vì tham chiếu của nó không thuộc loại mảng. Điều đó đã được giải quyết gấp mười lần bằng cách chỉ vào việc sử dụng từ ngữ của tiêu chuẩn đó. Chúc mừng & hth., –
@alf không phải là nó mà anh chàng paul trolling xung quanh với câu hỏi đó? –
@ JohannesSchaub-litb: yes –