Con trỏ (lập trình máy tính)

Tôi xem các câu lệnh gán và biến con trỏ là "những kho báu giá trị nhất" trong khoa học máy tính.

Donald Knuth, Structured Programming with go to Statements[1]

Con trỏ 'a' chỉ đến địa chỉ bộ nhớ liên kết tới biến 'b'. Trong sơ đồ này, kiến trúc điện toán sử dụng cùng không gian địa chỉ và dữ liệu nguyên thủy cho cả con trỏ và không phải con trỏ.

Trong khoa học máy tính, con trỏ (tiếng Anh: pointer) là một đối tượng ngôn ngữ lập trình, mà giá trị nó chỉ tới giá trị khác được chứa nơi nào đó trong bộ nhớ máy tính sử dụng địa chỉ bộ nhớ. Một con trỏ tham chiếu (reference) đến một vị trí trong bộ nhớ, và lấy giá trị được lưu ở vị trí đó được gọi là tham chiếu ngược (dereferencing) con trỏ. Minh họa bằng ví dụ là: Một số của trang được chỉ trong mục lục của một cuốn sách có thể được xem là con trỏ tới trang tương ứng; tham chiếu ngược con trỏ có thể được thực hiện bằng cách lật tới trang đã cho và đọc văn bản trong trang đó.

Lịch sử

Harold Lawson được ghi nhận đã phát minh ra con trỏ vào năm 1964.[2] Năm 2000, Lawson đã được trao giải thưởng Computer Pioneer Award bởi IEEE.[3] Theo Từ điển tiếng Anh Oxford, từ con trỏ xuất hiện lần đầu trong bản in như là con trỏ ngăn xếp (stack pointer) trong một bản ghi nhớ kỹ thuật của System Development Corporation.

Mô tả chính thức

Trong khoa học máy tính, con trỏ là một dạng của tham chiếu.

Xem thêm

Tham khảo

  1. ^ Donald Knuth (1974). “Structured Programming with go to Statements” (PDF). Computing Surveys. 6 (5): 261–301. doi:10.1145/356635.356640. Bản gốc (PDF) lưu trữ ngày 24 tháng 8 năm 2009.
  2. ^ Milestones in Computer Science and Information Technology
  3. ^ “IEEE Computer Society awards list”. Bản gốc lưu trữ ngày 22 tháng 3 năm 2011. Truy cập ngày 14 tháng 6 năm 2017.

Liên kết ngoài

  • cdecl.org A tool to convert pointer declarations to plain English
  • Over IQ.com A beginner level guide describing pointers in a plain English.
  • Pointers and Memory Introduction to pointers – Stanford Computer Science Education Library
  • 0pointer.de A terse list of minimum length source codes that dereference a null pointer in several different programming languages
  • "The C book" – containing pointer examples in ANSI C
  • Joint Technical Committee ISO/IEC JTC 1, Subcommittee SC 22, Working Group WG 14 (8 tháng 9 năm 2007). International Standard ISO/IEC 9899 (PDF). Committee Draft.Quản lý CS1: nhiều tên: danh sách tác giả (liên kết).
  • 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