Skip to main content

Τι είναι ένας κενός πίνακας;

Ο ακριβής ορισμός του τι είναι ένας κενός πίνακας στον προγραμματισμό υπολογιστών δεν είναι πάντα σαφής.Μία κοινή ερμηνεία είναι ότι ένας πίνακας είναι άδειος εάν έχει μηδενικά στοιχεία, αν και δεν επιτρέπουν όλες οι γλώσσες υπολογιστών να δηλωθούν με αυτόν τον τρόπο.Μια άλλη ερμηνεία ενός κενού πίνακα είναι ένας πίνακας στον οποίο όλα τα στοιχεία δεδομένων είναι είτε μηδενικές, μηδενικές είτε απροσδιόριστες, ανάλογα με τη χρήση της γλώσσας προγραμματισμού.Ορισμένες γλώσσες κάνουν διάκριση μεταξύ ενός πίνακα που είναι άδειος και ένας πίνακας που δεν έχει διατεθεί ακόμα και είναι ίσος με το NULL, αν και άλλες γλώσσες μπορεί να θεωρούν μια μη κατανεμημένη συστοιχία για να είναι μια κενή συστοιχία. Υπάρχουν συγκεκριμένες περιπτώσεις στις οποίες ένας πίνακαςΜπορεί να δηλωθεί μέσα σε ένα πρόγραμμα χωρίς στοιχεία, που σημαίνει ότι δεν μπορεί να κρατήσει δεδομένα και θεωρείται κενή συστοιχία.Αυτές είναι συχνά δυναμικές συστοιχίες που μπορούν να αυξήσουν τον αριθμό των στοιχείων, επειδή ένας πίνακας χωρίς στοιχεία είναι ουσιαστικά άχρηστος.Σε αντικειμενικές γλώσσες προγραμματισμού, μπορεί να δηλωθεί ένας κενός πίνακας μέσα σε ένα αντικείμενο περιτύλιξης κλάσης συστοιχίας που διατηρεί εσωτερικά τη δομή δεδομένων συστοιχίας.Σε μερικές σενάρια και μετα-γλώσσες, ένας κενός πίνακας μεταδίδεται ως παράμετρος στις λειτουργίες που πρέπει να συμπληρωθούν ή να εκχωρηθούν από μια άλλη πηγή δεδομένων., ή είναι γεμάτη με τιμές που υποδεικνύουν ότι δεν υπάρχουν δεδομένα.Αυτό οφείλεται στο γεγονός ότι σε γλώσσες όπως το C, όταν διατίθεται χώρος μνήμης για έναν πίνακα, εξακολουθεί να περιέχει υπολειμματικά δεδομένα από προηγούμενα προγράμματα ή αρχεία που θα μπορούσαν να έχουν καταλάβει το χώρο.Για να αδειάσει έναν πίνακα όπως αυτό, κάθε στοιχείο πρέπει να βυθιστεί και στη συνέχεια να ρυθμιστεί σε ουδέτερη τιμή.Αυτή η τιμή μπορεί να είναι ο πραγματικός αμερικανικός πρότυπος κώδικας για την τιμή ανταλλαγής πληροφοριών (ASCII) μηδενική, η οποία είναι διαφορετική από τον αλφαριθμητικό χαρακτήρα μηδέν.Μπορεί επίσης να είναι η τιμή για το NULL, που σημαίνει ότι δεν υπάρχει αξία, η οποία είναι η ίδια με την ASCII Zero σε ορισμένες γλώσσες.

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