Τοπικές έναντι καθολικών μεταβλητών: Διαφορά και σύγκριση

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

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

Βασικές τακτικές

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

Τοπικές έναντι καθολικών μεταβλητών

Μια τοπική μεταβλητή ορίζεται μέσα σε μια συνάρτηση και μπορεί να προσπελαστεί μόνο εντός αυτής της συνάρτησης. Εξαφανίζεται μετά την εκτέλεση της συνάρτησης. Μια καθολική μεταβλητή ορίζεται εκτός οποιασδήποτε συνάρτησης και μπορεί να προσπελαστεί από οποιαδήποτε συνάρτηση του προγράμματος

Τοπικές έναντι καθολικών μεταβλητών

Μια τοπική μεταβλητή συμβαίνει να είναι ένα είδος μεταβλητής. Δηλώνεται μέσα στη συνάρτηση και η διάρκεια ζωής της κυμαίνεται από την εκτέλεσή της έως τον τερματισμό της.

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

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

Δημιουργείται ακόμη πριν ξεκινά η εκτέλεση του προγράμματος. όμως λήγει με τη λήξη του προγράμματος. Εάν είναι μη αρχικοποιημένο, τότε αποθηκεύεται μηδέν ως προεπιλογή.

Συγκριτικός πίνακας

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

Τι είναι οι Τοπικές Μεταβλητές;

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

Διαβάστε επίσης:  Web 1.0 vs Web 2.0: Διαφορά και σύγκριση

Η διάρκεια ζωής του αρχίζει όταν ξεκινά η εκτέλεση του προγράμματος και τελειώνει με τον τερματισμό του.

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

Για αυτό, η κοινή χρήση δεδομένων δεν είναι δυνατή και αυτό συμβαίνει επειδή η πρόσβαση στα δεδομένα είναι δυνατή μόνο από μία λειτουργία. Επίσης, η μετάβαση των παραμέτρων στην τιμή πρόσβασης είναι άκρως απαραίτητη.

Ένας άλλος παράγοντας που πρέπει να σημειωθεί είναι ότι εάν η τιμή τροποποιηθεί σε ένα από τα λειτουργίες, τότε τέτοιες τροποποιήσεις δεν αντικατοπτρίζονται στις άλλες συναρτήσεις.

Αυτό είναι προσβάσιμο μέσω των δηλώσεων που περιέχονται σε μια συνάρτηση.

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

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

Τι είναι οι καθολικές μεταβλητές;

Αυτό, επίσης, είναι ένα είδος μεταβλητής. Χαρακτηρίζεται από τη δήλωση εκτός συνάρτησης. Δημιουργείται ακόμη και πριν ξεκινήσει η εκτέλεση του προγράμματος. όμως λήγει με τη λήξη του προγράμματος.

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

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

Διαβάστε επίσης:  Σφάλμα σύνδεσης απομακρυσμένης επιφάνειας εργασίας "Η σύνδεση απορρίφθηκε": Ένας ολοκληρωμένος οδηγός για την αντιμετώπιση προβλημάτων και την επίλυση

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

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

Αυτό είναι πιο χρήσιμο όταν πολλές λειτουργίες έχουν πρόσβαση στα ίδια δεδομένα. Τα μειονεκτήματά του είναι ότι αρκετές μεταβλητές παραμένουν στη μνήμη μέχρι την εκτέλεση του προγράμματος, κάτι που με τη σειρά του μπορεί να οδηγήσει στο πρόβλημα «Εκτός μνήμης».

Επιπλέον, μερικές φορές τα αποτελέσματα μπορεί να είναι αναξιόπιστα και απρόβλεπτα καθώς οποιαδήποτε συνάρτηση μπορεί να αλλάξει ή να αλλάξει τα δεδομένα.

Κύριες διαφορές μεταξύ τοπικών και καθολικών μεταβλητών

  1. Ενώ οι Τοπικές Μεταβλητές έχουν αποκτήσει το όνομά τους με βάση το πώς εκτελούν, δηλαδή είναι εσωτερικές συναρτήσεις, οι Καθολικές Μεταβλητές επίσης έχουν αποκτήσει το όνομά τους από το γεγονός ότι είναι εξωτερικές συναρτήσεις.
  2. Η διάρκεια ζωής της μεταβλητής για τις Τοπικές Μεταβλητές αρχίζει με την εκτέλεση του προγράμματος και τελειώνει με τον τερματισμό του. Αντίθετα, η διάρκεια ζωής της μεταβλητής στο Global Variable ξεκινά ακόμα και πριν από την εκτέλεση του προγράμματος. Ωστόσο, τελειώνει με τη λήξη του.
  3. Οι τοπικές μεταβλητές έχουν την αποθήκευσή τους σε απροσδιόριστες στοίβες εάν δεν έχουν καθοριστεί. Από την άλλη πλευρά, η αποθήκευση των καθολικών μεταβλητών βρίσκεται σε μια σταθερή τοποθεσία.
  4. Όπου τα αποτελέσματα που παράγονται στις Τοπικές μεταβλητές δεν έχουν περιθώριο αλλοίωσης, τα αποτελέσματα μπορεί να είναι αναξιόπιστα και απρόβλεπτα, καθώς τα δεδομένα μπορούν να αλλάξουν ή να τροποποιηθούν από οποιαδήποτε συνάρτηση στην περίπτωση των Καθολικών Μεταβλητών.
  5. Ενώ η κοινή χρήση δεδομένων δεν μπορεί να είναι δυνατή στην περίπτωση των Τοπικών Μεταβλητών, συμβαίνει ακριβώς το αντίθετο στην περίπτωση των Καθολικών Μεταβλητών.
αναφορές
  1. https://onlinelibrary.wiley.com/doi/full/10.1111/cogs.12831
  2. https://www.sciencedirect.com/science/article/pii/S1878029615001905

Τελευταία ενημέρωση: 11 Ιουνίου 2023

dot 1
Ένα αίτημα;

Έχω καταβάλει τόση προσπάθεια γράφοντας αυτήν την ανάρτηση ιστολογίου για να σας προσφέρω αξία. Θα είναι πολύ χρήσιμο για μένα, αν σκέφτεστε να το μοιραστείτε στα μέσα κοινωνικής δικτύωσης ή με τους φίλους/την οικογένειά σας. Η ΚΟΙΝΟΠΟΙΗΣΗ ΕΙΝΑΙ ♥️

17 σκέψεις σχετικά με το "Τοπικές έναντι παγκόσμιων μεταβλητών: Διαφορά και σύγκριση"

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

    απάντηση
  2. Ένα πραγματικά διαφωτιστικό κομμάτι που αναλύει σχολαστικά τις αποχρώσεις των τοπικών και παγκόσμιων μεταβλητών. Είναι ένας εξαιρετικός οδηγός για τους λάτρεις του προγραμματισμού.

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

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

    απάντηση
    • Οπωσδήποτε, Τόμας Άρθουρ. Αυτή η λεπτομερής σύγκριση ρίχνει φως σε κρίσιμες έννοιες προγραμματισμού από τις οποίες μπορούν να επωφεληθούν πολλοί.

      απάντηση
    • Δεν θα μπορούσα να συμφωνήσω περισσότερο. Αυτό είναι ένα εξαιρετικό διάβασμα για όποιον ενδιαφέρεται για προγραμματισμό και κωδικοποίηση.

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

    απάντηση
    • Συμφωνώ, Φρεντ Χιουζ. Η εις βάθος εξερεύνηση αυτών των μεταβλητών αποτελεί απόδειξη της τεχνογνωσίας του συγγραφέα στον τομέα.

      απάντηση
  6. Η ανάρτηση παρέχει μια εξαιρετικά λεπτομερή και περιεκτική σύγκριση μεταξύ τοπικών και καθολικών μεταβλητών. Είναι μια εξαιρετική εκπαιδευτική πηγή για μαθητές προγραμματισμού και για ειδικούς.

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

    απάντηση
  8. Το άρθρο είναι εντυπωσιακά περιεκτικό και καλά διατυπωμένο. Η κατανομή των τοπικών και καθολικών μεταβλητών παρουσιάζεται με αξιοσημείωτη σαφήνεια και λεπτομέρεια.

    απάντηση

Αφήστε ένα σχόλιο

Θέλετε να αποθηκεύσετε αυτό το άρθρο για αργότερα; Κάντε κλικ στην καρδιά στην κάτω δεξιά γωνία για αποθήκευση στο δικό σας πλαίσιο άρθρων!