Sự khác biệt giữa loại giá trị và loại tham chiếu

Sự khác biệt chính - Loại giá trị so với Tài liệu tham khảo Kiểu
 

Một ngôn ngữ lập trình được thiết kế để đưa ra các hướng dẫn cho máy tính để thực hiện các tác vụ. Chương trình có thể thao tác dữ liệu chứa số, ký tự và chuỗi và tạo thông tin cho người dùng. Một chuỗi các hướng dẫn được viết bằng một ngôn ngữ lập trình cụ thể là một chương trình. Trong các ngôn ngữ lập trình như C #, có mã thông báo. Đó là những từ khóa, định danh, nghĩa đen và toán tử. Các vị trí bộ nhớ dành riêng để lưu trữ dữ liệu được gọi là các biến. Một biến có thể lưu trữ một giá trị của một loại nhất định. Các kiểu dữ liệu có thể được chia thành loại giá trị và kiểu tham chiếu. Sự khác biệt giữa loại giá trị và loại tham chiếu phụ thuộc vào hai tính năng. Đó là nơi các biến được lưu trữ trong bộ nhớ và cách chúng hoạt động với câu lệnh gán. Bài viết này thảo luận về sự khác biệt giữa loại giá trị và loại tham chiếu. Các sự khác biệt chính giữa loại giá trị và loại tham chiếu là một loại giá trị giữ một giá trị dữ liệu trong không gian bộ nhớ của chính nó trong khi một loại tham chiếu giữ một con trỏ đến một vị trí bộ nhớ khác chứa dữ liệu.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Loại giá trị là gì
3. Loại tham chiếu là gì
4. Điểm tương đồng giữa Loại giá trị và Loại tham chiếu
5. So sánh cạnh nhau - Loại giá trị so với loại tham chiếu ở dạng bảng
6. Tóm tắt

Loại giá trị là gì?

Các loại giá trị có thể được chia thành hai loại. Chúng là các loại được xác định trước và các loại do người dùng xác định. Các loại được xác định trước được cung cấp bởi ngôn ngữ lập trình. Chúng có thể là số, loại ký tự hoặc loại thập phân. Các loại số có thể là loại tích phân, loại dấu phẩy động và loại thập phân. Các loại tích phân có thể được phân loại thành ký và không dấu. Các số nguyên đã ký có thể lưu trữ số dương hoặc âm. Sbyte, short, int và long là các kiểu dữ liệu đã ký.

Sybte là một byte, ngắn là hai byte, int là bốn byte và dài là tám byte. Các loại không dấu lưu trữ giá trị tích cực. Byte, ushort, uint và ulong là những ví dụ cho các kiểu không dấu. Các loại dấu phẩy động có thể lưu trữ một giá trị số với dấu thập phân. Phao là để lưu trữ giá trị dấu phẩy động chính xác đơn 32 bit và nhân đôi được sử dụng để lưu trữ dấu phẩy động chính xác đơn 64 bit. Loại thập phân là cho các giá trị độ chính xác cao. Kiểu dữ liệu char được sử dụng để lưu trữ một ký tự trong bộ nhớ. Đôi khi nó được yêu cầu lưu trữ giá trị đúng hoặc sai. Boolean được sử dụng cho điều đó. Đó là một số ví dụ về các loại giá trị được cung cấp bởi ngôn ngữ lập trình.

Người dùng cũng có thể tạo các loại giá trị. Hai loại giá trị do người dùng định nghĩa là cấu trúc và liệt kê. Một cấu trúc chứa dữ liệu của các loại khác nhau. Nó tương tự như một lớp học. Từ khóa'struct 'được sử dụng để khai báo một biến cấu trúc. Một ví dụ về cấu trúc như sau.

cấu trúc nhân viên

công cộng int empNo;

tên chuỗi công khai;

Các liệt kê được sử dụng để tăng khả năng đọc của mã. Nó được sử dụng để đặt tên cho các số. Từ khóa 'enum' được sử dụng để khai báo một bảng liệt kê. Một ví dụ về enum như sau. ví dụ. - enum Màu đen, trắng, tím. Từ khóa enum tự động liệt kê một danh sách các từ bằng cách gán các giá trị bắt đầu từ 0. Theo ví dụ trên, màu đen được gán với 0, màu trắng được gán với 1 và màu tím được gán với 2. Nếu nó được viết là enum Màu đen, trắng = 3, tím, sau đó màu đen được gán với 0 và màu tím được gán với 4. Đó là một số ví dụ về các loại giá trị. Chúng được lưu trữ trong ngăn xếp. Khi gán giá trị cho biến khác, giá trị được sao chép sang vị trí mới. Do đó, hai bản sao của cùng một giá trị tồn tại trong bộ nhớ.

Loại tham chiếu là gì?

Các loại tham chiếu có thể được chia thành hai loại là loại do người dùng xác định và loại được xác định trước. Một số ví dụ về các kiểu do người dùng định nghĩa là các lớp, giao diện và mảng. Một lớp được sử dụng để tạo các đối tượng. Một lớp bao gồm các thành viên dữ liệu và phương thức. Các thành viên dữ liệu mô tả các thuộc tính và phương thức mô tả hành vi. Một giao diện chỉ chứa khai báo của các thành viên. Các thành viên nên được định nghĩa bởi lớp dẫn xuất. Một mảng có thể lưu trữ nhiều phần tử của cùng một kiểu dữ liệu.

Các loại được xác định trước là một loại đối tượng và loại chuỗi. Loại đối tượng là loại cơ sở cho tất cả các loại do người dùng định nghĩa khác. Các tham chiếu đối tượng được sử dụng để liên kết với một đối tượng thuộc bất kỳ loại cụ thể nào. Các chuỗi ký tự được lưu trữ trong các đối tượng chuỗi dưới dạng các giá trị. Các hoạt động như sao chép, so sánh và nối có thể được thực hiện bằng cách sử dụng chúng. Đó là một số ví dụ về một loại tham chiếu. Các loại tham chiếu được lưu trữ trên heap. Khi gán một biến tham chiếu cho một biến tham chiếu khác, chỉ có tham chiếu được sao chép. Giá trị thực vẫn giữ nguyên.

Sự giống nhau giữa loại giá trị và loại tham chiếu là gì?

  • Cả hai loại giá trị và loại tham chiếu là các loại dữ liệu trong lập trình.

Sự khác biệt giữa loại giá trị và loại tham chiếu?

Loại giá trị so với loại tham chiếu

Một loại giá trị giữ một giá trị dữ liệu trong không gian bộ nhớ của chính nó. Một kiểu tham chiếu giữ một con trỏ đến một vị trí bộ nhớ khác chứa dữ liệu.
 Bài tập
Trong loại giá trị, giá trị được sao chép sang vị trí mới, do đó, có hai bản sao giống hệt nhau của cùng một giá trị trong bộ nhớ. Trong loại tham chiếu, tham chiếu được sao chép trong khi giá trị thực vẫn giữ nguyên.
Vị trí lưu trữ
Một loại giá trị được lưu trữ trong ngăn xếp. Một kiểu tham chiếu được lưu trữ trên heap.
 Ví dụ
Int, float, double, struct, enum là một số ví dụ về các loại giá trị. Lớp, mảng, giao diện là một số ví dụ về các kiểu tham chiếu.

Tóm lược - Loại giá trị so với Tài liệu tham khảo Kiểu

Dữ liệu được lưu trữ trong các vị trí bộ nhớ dành riêng được gọi là các biến. Mỗi biến lưu trữ một kiểu dữ liệu cụ thể. Các loại dữ liệu có thể được chia thành hai loại. Chúng là loại giá trị và loại tham chiếu. Sự khác biệt giữa loại giá trị và loại tham chiếu là loại giá trị giữ giá trị dữ liệu trong không gian bộ nhớ của chính nó trong khi loại tham chiếu giữ con trỏ đến vị trí bộ nhớ khác chứa dữ liệu.

Tài liệu tham khảo:

1.Loại giá trị và Loại tham chiếu, Hướng dẫnTeacher.com. Có sẵn ở đây
2.Balagurusamy, E. Lập trình trong C #, hàng đầu. Tái bản lần thứ tư, McGraw Hill Education (Ấn Độ) Private Limited, 2016.