Διαφορά μεταξύ δείκτη και αναφοράς

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 1 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 13 Ενδέχεται 2024
Anonim
Αθηρωματικός Δείκτης: Πως συνδέεται με τη Χοληστερόλη σου;
Βίντεο: Αθηρωματικός Δείκτης: Πως συνδέεται με τη Χοληστερόλη σου;

Περιεχόμενο


Ο "δείκτης" και "αναφορά" και οι δύο χρησιμοποιούνται για να υποδείξουν ή να παραπέμψουν μια άλλη μεταβλητή. Αλλά, η βασική διαφορά μεταξύ των δύο είναι ότι μια μεταβλητή δείκτη δείχνει μια μεταβλητή της οποίας η θέση μνήμης είναι αποθηκευμένη σε αυτήν. Η μεταβλητή αναφοράς είναι ένα ψευδώνυμο για μια μεταβλητή που έχει εκχωρηθεί σε αυτήν. Το παρακάτω διάγραμμα σύγκρισης εξετάζει τις άλλες διαφορές μεταξύ δείκτη και αναφοράς.

  1. Συγκριτικό διάγραμμα
  2. Ορισμός
  3. Βασικές διαφορές
  4. συμπέρασμα

Συγκριτικό διάγραμμα

Βάση για σύγκρισηΔείκτηςΑναφορά
ΒασικόςΟ δείκτης είναι η διεύθυνση μνήμης μιας μεταβλητής.Η αναφορά είναι ένα ψευδώνυμο για μια μεταβλητή.
ΕπιστρέφειΗ μεταβλητή δείκτη επιστρέφει την τιμή που βρίσκεται στη διεύθυνση που είναι αποθηκευμένη στη μεταβλητή δείκτη που προηγείται του σημείου δείκτη *.Η μεταβλητή αναφοράς επιστρέφει τη διεύθυνση της μεταβλητής που προηγείται από το σημείο αναφοράς &.
Χειριστές *, ->&
Μηδενική αναφοράΗ μεταβλητή δείκτη μπορεί να αναφέρεται σε NULL.Η μεταβλητή αναφοράς δεν μπορεί ποτέ να αναφέρεται σε NULL.
Αρχικοποίηση Μπορεί να δημιουργηθεί ένας μη πρωτεύων δείκτης.Μια μη πρωτόγνωρη αναφορά δεν μπορεί ποτέ να δημιουργηθεί.
Χρόνος εκκίνησηςΗ μεταβλητή δείκτη μπορεί να αρχικοποιηθεί σε οποιοδήποτε χρονικό σημείο του προγράμματος.Η μεταβλητή αναφοράς μπορεί να αρχικοποιηθεί μόνο κατά τη στιγμή της δημιουργίας της.
ΕπανεγκατάστασηΗ μεταβλητή δείκτη μπορεί να επανεγκατασταθεί όσες φορές απαιτείται.Η μεταβλητή αναφοράς δεν μπορεί ποτέ να επανενεργοποιηθεί εκ νέου στο πρόγραμμα.


Ορισμός δείκτη

Ένας "δείκτης" είναι μια μεταβλητή που διατηρεί τη θέση μνήμης μιας άλλης μεταβλητής. Οι χειριστές που χρησιμοποιούνται από τη μεταβλητή δείκτη είναι * και ->. Η δήλωση της μεταβλητής δείκτη περιέχει τον τύπο δεδομένων βάσης που ακολουθείται από το σύμβολο '*' και το όνομα της μεταβλητής.

πληκτρολογήστε * var_name;

Ας καταλάβουμε το δείκτη με τη βοήθεια ενός παραδείγματος.

int a = 4; int * ptr = & a; cout <ενώ ο χειριστής αναφοράς είναι &.

  • Μια μεταβλητή δείκτη αν δεν φέρει διεύθυνση μεταβλητής που δείχνει μηδενική. Από την άλλη πλευρά, μια μεταβλητή αναφοράς δεν μπορεί ποτέ να αναφερθεί στο Null.
  • Μπορείτε πάντα να δημιουργήσετε μια μη μεταβλητή μεταβλητή δείκτη, αλλά δημιουργούμε μια αναφορά όταν χρειαζόμαστε ένα ψευδώνυμο κάποιας μεταβλητής ώστε να μην μπορείτε ποτέ να δημιουργήσετε μια ενοποιημένη αναφορά.
  • Μπορείτε να επαναλάβετε την προετοιμασία ενός δείκτη, αλλά από τη στιγμή που αρχίσετε να μην κάνετε επανεκκίνηση,
  • Μπορείτε να δημιουργήσετε έναν κενό δείκτη και να τον αρχικοποιήσετε ανά πάσα στιγμή, αλλά πρέπει να αρχίσετε την αναφορά μόνο όταν δημιουργείτε μια αναφορά.
  • Σημείωση:


    Η Java δεν υποστηρίζει δείκτες.

    συμπέρασμα

    Ο δείκτης και η αναφορά και οι δύο χρησιμοποιούνται για να υποδεικνύουν ή να αναφέρουν μια άλλη μεταβλητή. Αλλά και οι δύο διαφέρουν στη χρήση και την εφαρμογή τους.