30/09/2018, 17:13
Với `struct TS` thì `TS x` và `TS& x` khác nhau như thế nào?
Khi em khai báo một Mảng cấu trúc struct TS
thì khi e khai báo
TS x và TS& x
thì hai cái đấy có gì khác nhau ạ!
Bài liên quan
Có khác chứ. Nếu khai báo
TS& ts;
sẽ bị lỗi.Mình chạy chương trình thử thì thấy thế
Theo mình biết thì dấu & trước biến thì đó là 1 biến tham chiếu .Dùng để tham chiểu đến 1 biến khác.
Hình như phải khai báo TS &ts = otherTS mói được. Tức là khai báo phải khởi tạo luôn.
Và TS ts; và TS& ts khác nhau khi truyền vào hàm.
Các bác dười góp ý
cũng k hiểu lắm a có thể nói rõ ra được k
Khai báo &bien là biến tham chiêu.
Biến tham chiếu thì phải tham chiếu đến 1 biên khác hay còn gọi biến tham chiếu là bí danh của 1 biến nào đó.
Như bác gió nói thi khai báo TS &x thì ko có struct mới được tạo ra vì biến tham chiếu không được cấp phát bộ nhớ.
Khi bạn khai báo
thì tham_chieu đã là bí danh của bien. Làm việc với tham_chieu là làm việc với bien.Tức bạn thay đổi tham_chieu thì bạn cũng thay đổi bien,Việc đó rất có lợi cho việc truyền tham số vào hàm mà muốn tham số đó thay đổi.(khỏi sử dụng con trỏ cho đỡ phức tạp)
tham chiếu bạn hiểu đơn giản là tạo ra một cái tên nữa cho vùng nhớ đó. Nếu bạn không gán ngay lúc khai báo tham chiếu thì rất bất hợp lý.
Kiểu như bạn nghĩ ra một cái tên nhưng không gọi ai bằng cái tên đó thì không đc (vì tên chỉ có một người có tên đó thôi, nếu bạn định gọi người khác bằng tên đó thì bất lịch sự )
Đồng ý.
Chuẩn không cần chỉnh.
TS ts
là biếnTS& ts
là reference, tức tham chiếu: http://portal.daynhauhoc.com/series/c-bai-42-reference/Chuẩn