Con trỏ (Pointers)
Biến con trỏ dùng để lưu địa chỉ của biến.
Cú pháp
Type *pointer;
Khởi tạo
Type *pointer; Pointer = tên biến;
Tham chiếu (References)
Khi tham số được khai báo là tham chiếu, nó trở thành tên thay thế cho một tham số đã tồn tại.
Cú pháp
Type &newname = existing name;
Khởi tạo
Type &pointer; Pointer = tên biến;
Các khác biệt chính giữa con trỏ và tham chiếu tham số:
- Tham chiếu dùng để tham chiếu biến hiện có bằng tên khác, con trỏ dùng để lưu địa chỉ biến.
- Tham chiếu không thể gán giá trị null nhưng con trỏ có thể.
- Biến tham chiếu có thể tham chiếu bằng truyền giá trị, con trỏ có thể tham chiếu bằng truyền tham chiếu.
- Tham chiếu phải được khởi tạo khi khai báo, con trỏ thì không bắt buộc.
- Tham chiếu chia sẻ cùng địa chỉ bộ nhớ với biến gốc nhưng cũng chiếm chút không gian trên stack, con trỏ có địa chỉ và kích thước riêng trên stack.