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

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Τα πλεονεκτήματα της Δείκτες

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

Όταν εκχωρείτε μια μεταβλητή σε οποιαδήποτε γλώσσα προγραμματισμού , ένα ορισμένο ποσό της μνήμης του συστήματος βρίσκεται στην άκρη για να κρατήσει τα στοιχεία του . Για απλές μεταβλητές , αυτό θα είναι συνήθως ένα μικρό ποσό της μνήμης, αλλά για λίστες και συστοιχίες αυθαίρετου μήκους , το μέγεθος της μνήμης που χρησιμοποιείται μπορεί να είναι εξαιρετικά μεγάλη . Ορισμένες λειτουργίες και εργασίες που εκτελούνται σε μεταβλητές απαιτούν την αντιγραφή των δεδομένων τους σε ένα χώρο εργασίας ? Όταν οι μεταβλητές χειρουργηθεί είναι μεγάλες , η ποσότητα των δεδομένων που πρέπει να αντιγραφεί μπορεί να επιβραδύνει τη λειτουργία του προγράμματος , ή σε περιορισμένες καταστάσεις μνήμης, να προκαλέσει το πρόγραμμα να . συντριβή

Δείκτες αποφύγετε αυτό το πρόβλημα με τη δημιουργία θέσεων σελιδοδείκτη στη μνήμη? οι εργασίες στη συνέχεια έκανε στις θέσεις μνήμης , αντί για τα πραγματικά δεδομένα που είναι αποθηκευμένα στη μεταβλητή . Σκεφτείτε για παράδειγμα ένα πρόγραμμα που φορτώνει αρκετές χιλιάδες εγγραφές από μια βάση δεδομένων σε μια μεταβλητή πίνακα . Εάν εκτελέσετε μια λειτουργία , όπως , « να επιστρέψει το πέμπτο ρεκόρ από τον πίνακα , « σε ορισμένες μη βελτιστοποιημένες γλώσσες αυτό θα επαναλάβει ολόκληρη τη λίστα πριν από το πέμπτο αρχείο μπορεί να βρεθεί και να εξάγεται . Ένας δείκτης στην ίδια θέση μνήμης , ωστόσο , μπορεί να ανακτήσει τα δεδομένα προγραμματισμού χωρίς να προκαλεί η όλη διάταξη πρέπει να αντιγραφεί στο εσωτερικό .
Εικόνων Pointer Σφάλματα
Η

Πρέπει να ληφθεί μέριμνα για την κατανοήσει τις εσωτερικές λειτουργίες μιας γλώσσας προγραμματισμού κατά την ανάθεση μεταβλητών . Ας εξετάσουμε το ακόλουθο ψευδοκώδικα :

a = 5β = aa = 10print

Σε ορισμένες γλώσσες b, το "b = a " επιχείρηση θα αναθέσει την τιμή της μεταβλητής "a" στην μεταβλητή "b . " Σε αυτές τις περιπτώσεις , η λειτουργία "print b" θα επιστρέψει " 5 ", η οποία ήταν η αξία του "α" κατά το χρόνο ένταξής του στο "b ". Ωστόσο, σε άλλες γλώσσες , " b = ένας " δημιουργεί ένα δείκτη (ή αναφορά ) από το " b" με " a", δίνοντας τα ίδια μεταβλητή δύο διαφορετικά ονόματα . Σε αυτές τις γλώσσες , όταν η τιμή του "α" έχει αλλάξει, η τιμή του " β " είναι επίσης αλλάξει , και το αποτέλεσμα του "print b" θα είναι " 5 ".

Ομοίως , όταν μιας μεταβλητής είναι απλώς μια αναφορά , τα σφάλματα μπορούν να εισαχθούν ως εξής :

a = 5β = adelete Aprint β

στην περίπτωση αυτή , αν το " b" και "a" αναφέρονται στην ίδια μεταβλητή , όταν η μεταβλητή a διαγράφεται , μεταβλητή " b" δεν υπάρχει πια ? αυτό το πρόγραμμα θα κλείσει με ένα σφάλμα εκτέλεσης

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

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

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