Διαφορά μεταξύ δείκτη και αναφοράς
Συγγραφέας:
Laura McKinney
Ημερομηνία Δημιουργίας:
1 Απρίλιος 2021
Ημερομηνία Ενημέρωσης:
13 Ενδέχεται 2024
Περιεχόμενο
Ο "δείκτης" και "αναφορά" και οι δύο χρησιμοποιούνται για να υποδείξουν ή να παραπέμψουν μια άλλη μεταβλητή. Αλλά, η βασική διαφορά μεταξύ των δύο είναι ότι μια μεταβλητή δείκτη δείχνει μια μεταβλητή της οποίας η θέση μνήμης είναι αποθηκευμένη σε αυτήν. Η μεταβλητή αναφοράς είναι ένα ψευδώνυμο για μια μεταβλητή που έχει εκχωρηθεί σε αυτήν. Το παρακάτω διάγραμμα σύγκρισης εξετάζει τις άλλες διαφορές μεταξύ δείκτη και αναφοράς.
- Συγκριτικό διάγραμμα
- Ορισμός
- Βασικές διαφορές
- συμπέρασμα
Συγκριτικό διάγραμμα
Βάση για σύγκριση | Δείκτης | Αναφορά |
---|---|---|
Βασικός | Ο δείκτης είναι η διεύθυνση μνήμης μιας μεταβλητής. | Η αναφορά είναι ένα ψευδώνυμο για μια μεταβλητή. |
Επιστρέφει | Η μεταβλητή δείκτη επιστρέφει την τιμή που βρίσκεται στη διεύθυνση που είναι αποθηκευμένη στη μεταβλητή δείκτη που προηγείται του σημείου δείκτη *. | Η μεταβλητή αναφοράς επιστρέφει τη διεύθυνση της μεταβλητής που προηγείται από το σημείο αναφοράς &. |
Χειριστές | *, -> | & |
Μηδενική αναφορά | Η μεταβλητή δείκτη μπορεί να αναφέρεται σε NULL. | Η μεταβλητή αναφοράς δεν μπορεί ποτέ να αναφέρεται σε NULL. |
Αρχικοποίηση | Μπορεί να δημιουργηθεί ένας μη πρωτεύων δείκτης. | Μια μη πρωτόγνωρη αναφορά δεν μπορεί ποτέ να δημιουργηθεί. |
Χρόνος εκκίνησης | Η μεταβλητή δείκτη μπορεί να αρχικοποιηθεί σε οποιοδήποτε χρονικό σημείο του προγράμματος. | Η μεταβλητή αναφοράς μπορεί να αρχικοποιηθεί μόνο κατά τη στιγμή της δημιουργίας της. |
Επανεγκατάσταση | Η μεταβλητή δείκτη μπορεί να επανεγκατασταθεί όσες φορές απαιτείται. | Η μεταβλητή αναφοράς δεν μπορεί ποτέ να επανενεργοποιηθεί εκ νέου στο πρόγραμμα. |
Ορισμός δείκτη
Ένας "δείκτης" είναι μια μεταβλητή που διατηρεί τη θέση μνήμης μιας άλλης μεταβλητής. Οι χειριστές που χρησιμοποιούνται από τη μεταβλητή δείκτη είναι * και ->. Η δήλωση της μεταβλητής δείκτη περιέχει τον τύπο δεδομένων βάσης που ακολουθείται από το σύμβολο '*' και το όνομα της μεταβλητής.
πληκτρολογήστε * var_name;
Ας καταλάβουμε το δείκτη με τη βοήθεια ενός παραδείγματος.
int a = 4; int * ptr = & a; cout <ενώ ο χειριστής αναφοράς είναι &.
Σημείωση:
Η Java δεν υποστηρίζει δείκτες.
συμπέρασμα
Ο δείκτης και η αναφορά και οι δύο χρησιμοποιούνται για να υποδεικνύουν ή να αναφέρουν μια άλλη μεταβλητή. Αλλά και οι δύο διαφέρουν στη χρήση και την εφαρμογή τους.