Sự khác biệt giữa con trỏ và tài liệu tham khảo | Pointer vs Reference

Anonim

Sự khác biệt chính - Pointer vs Tham khảo

Trước khi thảo luận về sự khác biệt giữa con trỏ và tham chiếu, đầu tiên chúng ta hãy nhìn vào ý nghĩa của hai thuật ngữ này một thời gian ngắn. 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 trong một thời gian thực hiện nên được biết đến để truy cập chúng. Biến con trỏcác biến tham khảo được sử dụng để truy cập các dữ liệu này và vận dụng các địa chỉ bộ nhớ mà chúng đang ở. Đó là, cả con trỏ và tài liệu tham khảo có thể được dùng để chỉ 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ọ. Sự khác biệt giữa giữa con trỏ và 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 tham chiếu là một biến đề cập đến đến một biến khác. Hai cơ chế, con trỏ và tham chiếu, có cú pháp và cách sử dụng khác nhau .

Con trỏ là gì?

Con trỏ là đố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 + + cú pháp;

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 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 điểm biến ptr để 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 vị trí bộ nhớ được gọi là dereferencing . Toán tử * được sử dụng để dereference con trỏ. Sau khi các khai báo được hoàn thành, biểu thức gián tiếp * ptr dereferences ptr để tham khảo i.

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

* ptr = 20;

Con trỏ có thể được chỉ định lại để tham khảo các vật thể khác nhau.

Con trỏ null

là một loại con trỏ đặc biệt. Một con trỏ null thường được biểu thị bởi 0 hoặc null và trỏ đến không có gì. Đó là thực hành tốt để sử dụng một con trỏ null trong trường hợp không có một địa chỉ chính xác được giao cho con trỏ. Sự phân công này có thể được sử dụng trong các hoạt động hợp lý và các điều kiện. Con trỏ có thể được sử dụng để lưu trữ và quản lý các địa chỉ của bộ nhớ được phân bổ tự động

. 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 con trỏ. Ví dụ, một hàng đợi có thể có hai con trỏ; đầu con trỏ và con trỏ đuôi.Con trỏ cũng có thể được sử dụng để chuyể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 các bộ nhớ hoặc các thiết bị nhớ được ánh xạ cũng có thể được xử lý bằng cách sử dụng các con trỏ. Con trỏ cho phép truy cập vào cả bộ nhớ được bảo vệ và không được bảo vệ. Vì vậy, cần phải thực hiện các biện pháp phòng ngừa cần thiết để xác minh rằng nội dung của con trỏ là hợp lệ. Nếu không, dereferencing một con trỏ với một địa chỉ bộ nhớ không hợp lệ có thể gây ra chương trình để sụp đổ. Con trỏ được hỗ trợ bằng các ngôn ngữ như C, C ++, Pascal và nhiều ngôn ngữ lắp ráp.

Pointer

a

trỏ đến địa chỉ bộ nhớ có liên quan đến biến b. Tài liệu tham khảo là gì? Một tham chiếu 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 để gián tiếp truy cập một số liệu cụ thể. Trong C + + cú pháp; int i = 5;

int & ref =

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' như là một đối tượng của kiểu 'reference to int' trong đó đề cập đến i. Một tài liệu tham khảo khác với dữ liệu chính nó cho rằng tài liệu tham khảo được thực hiện như là địa chỉ vật lý của một điểm đặc biệt được lưu trữ trong bộ nhớ. Sau khi được xác định, không thể chỉ định 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 tiếp theo, 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 dereferencing không đòi hỏi 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 đề cập đến một đối tượng. Điều này là do, không giống như các con trỏ, tài liệu tham khảo không thể là vô giá trị và phải luôn được chỉ định khi khởi tạo. Vì các tài liệu tham khảo phải luôn luôn tham khảo một số đối tượng, làm cho một biến như vậy tham khảo đảm bảo chương trình sẽ hoạt động hiệu quả và chính xác. Cho rằng, không có tài liệu tham khảo null, tính hợp lệ của một biến tham chiếu không phải được kiểm tra.

Các biến tham khảo có thể

được sử dụng để truyền dữ liệu một cách hiệu quả thành các đối số cho các thủ tục

. Tài liệu tham khảo 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. Ngôn ngữ lập trình như C + +, Java, Python, Perl, PHP, Ruby … hỗ trợ tài liệu tham khảo. Sự khác biệt giữa con trỏ và tài liệu tham khảo là gì?

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

Con trỏ:

Con trỏ là địa chỉ bộ nhớ của một đối tượng 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 con trỏ và tham chiếu Tuyên bố

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ử &.

Dereferencing Con trỏ:

Một biến con trỏ đòi hỏi toán tử * được dereferenced.

Tài liệu tham khảo: Một biến tham chiếu không đòi hỏi người vận hành phải dereferenced.

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à các 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ó những thứ như là một tài liệu tham khảo null. Tham chiếu phải luôn luôn tham khảo một đối tượng.

Phân bổ lại Con trỏ:

Biến con trỏ có thể được gán lại để chỉ các đối tượng khác nhau.

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

Cách sử dụng Con trỏ:

Các biến con trỏ nên được sử dụng khi có khả năng đề cập đến không có gì tồn tại hoặc khi cần phải đề cập đến những điều khác nhau ở những thời điểm khác nhau.

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

Ứng dụng Cách 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 khảo có thể được sử dụng trong các tham số chức năng, và các kiểu trả về xác định 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 con trỏ hỗ trợ ngôn ngữ lắp ráp.

Tài liệu tham khảo: Ngôn ngữ lập trình như C + +, Java, Python, Perl, PHP, Ruby … hỗ trợ tài liệu tham khảo.

Hình ảnh Nhắc nhở: "Con trỏ" bởi Tập tin này được tạo bởi Người dùng: SvenTranslation. Làm việc riêng. Hình ảnh vector này được tạo ra bằng Inkscape. (CC BY-SA 3. 0) thông qua Commons -