Sự khác biệt giữa con trỏ và tham chiếu

Sự khác biệt chính - Con trỏ so với tài liệu tham khảo
 

Trước khi thảo luận về sự khác biệt giữa con trỏ và tham chiếu, trước tiên chúng ta hãy xem xét ý nghĩa của hai thuật ngữ này. Trong một chương trình, dữ liệu chiếm bộ nhớ. Vị trí chính xác của bộ nhớ trong đó dữ liệu được đặt tại thời điểm thực hiện phải được biết để truy cập chúng. Biến con trỏ biến tham chiếu được sử dụng để truy cập các dữ liệu này và thao tác các địa chỉ bộ nhớ mà chúng đang ở. Đó là, cả con trỏ và tham chiếu có thể được sử dụng để tham chiếu đến các đối tượng một cách gián tiếp. Họ chủ yếu giữ địa chỉ bộ nhớ như là giá trị của họ. Các sự khác biệt chính giữa một con trỏ và một tham chiếu là một con trỏ là một biến lưu trữ địa chỉ của vị trí bộ nhớ của một biến khác trong khi một tham chiếu là một biến đề cập đến một biến khác. Hai cơ chế, các con trỏ và tham chiếu, có cú pháp và cách sử dụng khác nhau.

Con trỏ là gì?

Một con trỏ là một đối tượng ngôn ngữ lập trình lưu trữ địa chỉ bộ nhớ của một giá trị trong bộ nhớ máy tính.

Trong cú pháp C ++;

int i = 5;

int * ptr = & i;

Dòng đầu tiên xác định một biến được khởi tạo với giá trị là 5. Dòng thứ hai xác định một con trỏ tới địa chỉ bộ nhớ của biến. Ở đây, 'ptr' được khai báo là một đối tượng của kiểu 'con trỏ tới int' có giá trị ban đầu là địa chỉ của đối tượng i. Về cơ bản, biến ptr trỏ đến i bằng cách lưu trữ địa chỉ bộ nhớ của nó.

Lấy giá trị được lưu trữ tại một vị trí bộ nhớ được gọi là hội nghị. Toán tử * được sử dụng để hủy bỏ con trỏ. Sau khi khai báo xong, biểu thức gián tiếp * ptr dereferences ptr để chỉ i.

Để thay đổi giá trị của i, có thể sử dụng phép gán sau;

* ptr = 20;

Con trỏ cũng có thể được chỉ định lại để chỉ các đối tượng khác nhau.

Một con trỏ rỗng là một loại con trỏ đặc biệt. Một con trỏ null thường được ký hiệu là 0 hoặc null và trỏ đến không có gì. Đó là một thực hành tốt để sử dụng một con trỏ null trong trường hợp không có địa chỉ chính xác được gán cho con trỏ. Nhiệm vụ này có thể được sử dụng trong các hoạt động và điều kiện logic.

Con trỏ có thể là Được sử dụng để lưu trữ và quản lý các địa chỉ của bộ nhớ được cấp phát động. Việc thực hiện và kiểm soát các cấu trúc dữ liệu như ngăn xếp, hàng đợi và danh sách có thể được thực hiện hiệu quả với việc sử dụng các con trỏ. Ví dụ, một hàng đợi có thể có hai con trỏ; con trỏ đầu và con trỏ đuôi. Con trỏ cũng có thể được sử dụng để truyền các biến theo địa chỉ của chúng, điều này sẽ cho phép thay đổi giá trị. Thao tác trực tiếp với bộ nhớ hoặc các thiết bị ánh xạ bộ nhớ cũng có thể được xử lý bằng cách sử dụng các con trỏ.

Con trỏ cho phép cả truy cập được bảo vệ và không được bảo vệ vào bộ nhớ được đánh địa chỉ. Do đó, các biện pháp phòng ngừa cần thiết phải được thực hiện để xác minh rằng nội dung của một con trỏ là hợp lệ. Nếu không, việc hủy bỏ một con trỏ có địa chỉ bộ nhớ không hợp lệ có thể khiến chương trình bị sập.

Con trỏ được hỗ trợ trong các ngôn ngữ như C, C ++, Pascal và nhiều ngôn ngữ lắp ráp.

Con trỏ một chỉ đến địa chỉ bộ nhớ liên quan đến biến b.

Tài liệu tham khảo là gì?

Một tài liệu tham khảo chỉ đơn giản là một định danh thay thế cho một giá trị được lưu trữ trong bộ nhớ. Nó cho phép một chương trình truy cập gián tiếp một mốc thời gian cụ thể.

Trong cú pháp C ++;

int i = 5;

int & ref = Tôi;

Dòng đầu tiên xác định một biến được khởi tạo với giá trị là 5. Dòng thứ hai khai báo 'ref' là một đối tượng thuộc loại 'tham chiếu đến int' dùng để chỉ i. Tham chiếu khác với dữ liệu được cung cấp rằng tham chiếu được triển khai dưới dạng địa chỉ vật lý của mốc thời gian cụ thể được lưu trữ trong bộ nhớ.

Sau khi được xác định, tham chiếu không thể được gán lại một giá trị mới. Một tham chiếu luôn đề cập đến đối tượng mà nó được khởi tạo. Trong bài tập sau, ref vẫn đề cập đến i, nhưng giá trị bây giờ là 20.

ref = 20;

Theo ví dụ trên, tham chiếu hội nghị không yêu cầu bất kỳ toán tử nào.

Tài liệu tham khảo có thể được sử dụng khi một biến luôn tham chiếu đến một đối tượng. Điều này là do, không giống như các con trỏ, các tham chiếu không thể là null và phải luôn được chỉ định khi khởi tạo. Vì các tham chiếu phải luôn luôn tham chiếu đến một số đối tượng, làm cho một biến như vậy trở thành một tham chiếu đảm bảo chương trình sẽ hoạt động hiệu quả và chính xác. Do đó, không có tham chiếu null, tính hợp lệ của biến tham chiếu không phải kiểm tra.

Biến tham chiếu có thể là Được sử dụng để truyền dữ liệu lớn một cách hiệu quả làm đối số cho các thủ tục. Các tham chiếu cũng được sử dụng trong việc chia sẻ dữ liệu lớn giữa các vùng mã khác nhau vì mỗi mã giữ một tham chiếu đến dữ liệu.

Các ngôn ngữ lập trình như C ++, Java, Python, Perl, PHP, Ruby, v.v..

Sự khác biệt giữa con trỏ và tham chiếu là gì?

Định nghĩa về con trỏ và tham chiếu

Con trỏ: Một con trỏ là địa chỉ bộ nhớ của một đối tượng được lưu trữ trong bộ nhớ máy tính.

Tài liệu tham khảo: Tham chiếu là một định danh thay thế hoặc bí danh cho một đối tượng.

Đặc điểm của con trỏ và tài liệu tham khảo

Tờ khai

Con trỏ: Một con trỏ được khai báo với toán tử *.

Tài liệu tham khảo: Một tham chiếu được khai báo với toán tử &.

Hội thảo

Con trỏ: Một biến con trỏ yêu cầu toán tử * được hủy đăng ký.

Tài liệu tham khảo: Một biến tham chiếu không yêu cầu toán tử bị hủy đăng ký.

Đang khởi tạo

Con trỏ:  Con trỏ có thể được khởi tạo thành null. Các biến như vậy được gọi là con trỏ null.

Tài liệu tham khảo: Tài liệu tham khảo không thể được khởi tạo thành null. Không có thứ gọi là tài liệu tham khảo null. Một tài liệu tham khảo phải luôn luôn đề cập đến một đối tượng.

Tái chỉ định

Con trỏ: Một biến con trỏ có thể được gán lại để tham chiếu đến các đối tượng khác nhau.

Tài liệu tham khảo: Một biến tham chiếu không thể được chỉ định lại. Nó luôn đề cập đến đối tượng mà nó được khởi tạo.

Sử dụng

Con trỏ: Biến con trỏ nên được sử dụng khi khả năng đề cập đến không có gì tồn tại hoặc khi bắt buộc phải đề cập đến những thứ khác nhau vào những thời điểm khác nhau.

Tài liệu tham khảo: Các biến tham chiếu nên được sử dụng khi sẽ luôn có một đối tượng để tham chiếu và khi không bắt buộc phải sử dụng biến tham chiếu đó để chỉ bất kỳ thứ gì khác ngoài đối tượng đó.

Áp dụng sử dụng

Con trỏ: Biến con trỏ có thể được sử dụng để thực hiện các thuật toán và cấu trúc dữ liệu.

Tài liệu tham khảo: Các biến tham chiếu có thể được sử dụng trong các tham số hàm và các kiểu trả về xác định các giao diện hữu ích.

Ngôn ngữ sử dụng:

Con trỏ: Các ngôn ngữ lập trình như C, C ++, Pascal và nhiều ngôn ngữ lắp ráp hỗ trợ con trỏ.

Tài liệu tham khảo: Các ngôn ngữ lập trình như C ++, Java, Python, Perl, PHP, Ruby, v.v..

Hình ảnh lịch sự: Điểm Pointers Tập tin này được tạo bởi Người dùng: SvenTranslation.Own làm việc. Hình ảnh vector này được tạo bằng Inkscape. (CC BY-SA 3.0) qua Commons -