Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός C / C++

Τι είδους πληροφορίες αποθηκεύονται στους καταχωρητές δείκτη και δείκτη;

Οι καταχωρητές δείκτη και τα καταχωρητές ευρετηρίου είναι και οι δύο τύποι καταχωρητών που χρησιμοποιούνται στην αρχιτεκτονική υπολογιστών, αλλά αποθηκεύουν διαφορετικά είδη πληροφοριών:

* καταχωρητές δείκτη: Αποθηκεύστε *διευθύνσεις μνήμης *. Επισημαίνουν μια συγκεκριμένη θέση στη μνήμη όπου αποθηκεύονται τα δεδομένα. Τα ίδια τα δεδομένα δεν είναι στο μητρώο δείκτη. μόνο η διεύθυνση όπου βρίσκονται τα δεδομένα. Σκεφτείτε το σαν μια διεύθυνση δρόμου - η ίδια η διεύθυνση δεν περιέχει το σπίτι, απλά σας λέει πού να το βρείτε.

* καταχωρητές ευρετηρίου: Αποθηκεύστε * Ακέρατες τιμές * που χρησιμοποιούνται για την τροποποίηση μιας διεύθυνσης μνήμης. Χρησιμοποιούνται συχνά στη διευθύνσεις συστοιχίας. Ο καταχωρητής δείκτη διατηρεί μια μετατόπιση ή έναν δείκτη σε έναν πίνακα, ο οποίος στη συνέχεια προστίθεται σε (ή αφαιρείται από) μια διεύθυνση βάσης (που συχνά κρατιέται σε άλλο μητρώο) για να υπολογίσει την πραγματική διεύθυνση μνήμης ενός συγκεκριμένου στοιχείου συστοιχίας. Σε αντίθεση με τους καταχωρητές δείκτη, τα μητρώα ευρετηρίου δεν κατέχουν απευθείας μια διεύθυνση μνήμης. Διαθέτουν μια τιμή που * συμβάλλει * στον υπολογισμό μιας διεύθυνσης μνήμης.

Εν συντομία:

* δείκτης: Διαθέτει απευθείας διεύθυνση μνήμης.

* Ευρετήριο: Διατηρεί μια τιμή που χρησιμοποιείται για τον υπολογισμό μιας διεύθυνσης μνήμης (συχνά σε συνδυασμό με μια διεύθυνση βάσης).

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα