tôi đã được đưa ra một mã số (C++), nơi các mảng được truyền sử dụngTại sao truyền mảng dưới dạng "int * & name"?
void fun(int *& name){...}
nhưng ý tưởng đằng sau đó là gì? Tôi đoán nó có nghĩa là "một mảng tài liệu tham khảo" nhưng khi bạn chỉ cần chuyển một con trỏ đến phần tử đầu tiên sẽ ổn, phải không? Vậy động lực để làm theo cách này là gì?
Nó có nghĩa là tham chiếu về biến con trỏ. Mục đích là thay đổi biến con trỏ được truyền cho nó. –
Mảng? Không thể truyền các đối tượng mảng thực thông qua tham số đó. Những gì bạn có thể vượt qua là một con trỏ * trỏ đến một phần tử mảng, nhưng không phải là chính mảng đó. Ví dụ, bạn sẽ không thể trực tiếp truyền mảng 'int a [10]' tới hàm này. – AnT
Điều quan trọng là phải biết rằng ** mảng không phải là con trỏ, và con trỏ không phải là mảng **. Xem [** bài đăng này **] (http://stackoverflow.com/questions/1641957/is-array-name-a-pointer-in-c) để biết thêm về điều đó. – juanchopanza