Tham chiếu (khoa học máy tính)

Trong khoa học máy tính, tham chiếu (tiếng Anh: reference) là một giá trị cho phép chương trình truy xuất gián tiếp tới một số liệu cụ thể, như một biến hay một bản ghi, trong bộ nhớ máy tính hay trong các thiết bị lưu trữ khác. Quá trình mà tham chiếu chỉ đến (refer) dữ liệu, và truy xuất dữ liệu được gọi là tham chiếu ngược (dereferencing) đến tham chiếu.

Một tham chiếu thì khác với chính dữ liệu đó. Thường thì, để tham chiếu đến dữ liệu chứa trong bộ nhớ của một hệ thống nhất định, một tham chiếu được hiện thực như là địa chỉ vật lý của nơi mà dữ liệu được chứa trong bộ nhớ hay trong thiết bị lưu trữ. Vì lý do này, tham chiếu thường bị nhầm lẫn một cách sai lệch với con trỏ hay địa chỉ vùng nhớ, và được nói là "trỏ đến" (point to) dữ liệu.

Lợi ích

Tham chiếu tăng tính linh hoạt khi lưu trữ các đối tượng, cách nó được cấp phát, và cách chúng được truyền qua giữa các vùng mã. Chừng nào còn có thể truy xuất một tham chiếu đến dữ liệu, thì còn có thể truy xuất dữ liệu thông qua nó, và bản thân dữ liệu không cần thiết phải di chuyển. Nó cũng khiến việc chia sẻ dữ liệu giữa các vùng mã dễ dàng hơn; mỗi dữ liệu giữ một tham chiếu đến nói.

Ví dụ

Con trỏ có tính nguyên thủy nhất. Do có mối quan hệ mật thiết với phần cứng bên dưới, nó là một trong những kiểu tham chiếu mạnh mẽ và hiệu quả nhất. Tuy nhiên, cũng do mối quan hệ này, con trỏ đòi hỏi lập trình viên phải có kiến thức mạnh về chi tiết của kiến trúc bộ nhớ. Bởi vì con trỏ chứa địa chỉ lưu trữ bộ nhớ, thay vì giá trị trực tiếp, việc sử dụng không đúng con trỏ có thể dẫn đến hành vi không xác định trong một chương trình, đặc biệt bởi vì con trỏ lạc (dangling pointer) hay con trỏ hoang dã (wild pointer). Con trỏ thông minh (smart pointer) là cấu trúc dữ liệu không rõ ràng (opaque pointer) hoạt động như con trỏ nhưng có thể chỉ được truy xuất thông qua các phương thức cụ thể.

Xem thêm

Tham khảo

Liên kết ngoài

  • Pointer Fun With Binky Introduction to pointers in a 3-minute educational video - Stanford Computer Science Education Library
  • x
  • t
  • s
Không xác định
Số
  • Độ chính xác tùy ý hay bignum
  • Phức
  • Thập phân
  • Dấu phẩy tĩnh
  • Dấu phẩy động
    • Độ chính xác thấp
      • Minifloat
      • Bán chính xác
      • bfloat16
    • Độ chính xác đơn
    • Độ chính xác kép
    • Độ chính xác bậc bốn
    • Độ chính xác bậc tám
    • Độ chính xác mở rộng
      • Long double
  • Nguyên
    • có dấu và không dấu
  • Khoảng
  • Hữu tỉ
Con trỏ
Văn bản
  • Ký tự
  • Chuỗi
    • kết thúc rỗng
Phức hợp
  • Kiểu dữ liệu đại số
    • tổng quát
  • Mảng
  • Mảng kết hợp
  • Lớp
  • Phụ thuộc
  • Equality
  • Quy nạp
  • Giao
  • Danh sách
  • Đối tượng
    • siêu đối tượng
  • Kiểu tùy chọn
  • Tích
  • Bản ghi hay Struct
  • Refinement
  • Tập hợp
  • Hợp
    • tagged
Khác
  • Boole
  • Kiểu đáy
  • Collection
  • Kiểu liệt kê
  • Ngoại lệ
  • Kiểu hàm
  • Kiểu dữ liệu mờ
  • Kiểu dữ liệu đệ quy
  • Đèn báo
  • Stream
  • Kiểu đỉnh
  • Lớp kiểu
  • Kiểu đơn vị
  • Void
Chủ đề
liên quan