Was ist ein leeres Array?
Die genaue Definition eines leeren Arrays in der Computerprogrammierung ist nicht immer klar. Eine übliche Interpretation ist, dass ein Array leer ist, wenn es keine Elemente enthält, obwohl nicht alle Computersprachen die Deklaration eines Arrays auf diese Weise zulassen. Eine andere Interpretation eines leeren Arrays ist ein Array, in dem alle Datenelemente je nach verwendeter Programmiersprache entweder null, null oder undefiniert sind. Bestimmte Sprachen unterscheiden zwischen einem Array, das leer ist, und einem Array, das noch nicht zugewiesen wurde und gleich null ist, obwohl andere Sprachen ein nicht zugewiesenes Array möglicherweise als leeres Array betrachten.
Es gibt bestimmte Fälle, in denen ein Array in einem Programm ohne Elemente deklariert werden kann. Dies bedeutet, dass es keine Daten enthalten kann und als leeres Array betrachtet wird. Dies sind häufig dynamische Arrays, die die Anzahl der Elemente erhöhen können, da ein Array ohne Elemente im Wesentlichen unbrauchbar ist. In objektorientierten Programmiersprachen kann ein leeres Array in einem Array-Klassen-Wrapper-Objekt deklariert werden, das die Array-Datenstruktur intern verwaltet. In einigen Skriptsprachen und Metasprachen wird ein leeres Array als Parameter an Funktionen übergeben, die gefüllt werden sollen, oder Werte aus einer anderen Datenquelle zugewiesen.
Die andere Bedeutung eines leeren Arrays ist ein Array, das initialisiert wurde, also keine Daten enthält, oder das mit Werten gefüllt ist, die angeben, dass keine Daten vorhanden sind. Dies liegt daran, dass in Sprachen wie C, wenn Speicherplatz für ein Array zugewiesen wird, noch Restdaten aus früheren Programmen oder Dateien enthalten sind, die möglicherweise den Speicherplatz belegt haben. Um ein solches Array zu leeren, muss jedes Element durchgeschleift und dann auf einen neutralen Wert gesetzt werden. Dieser Wert kann der tatsächliche ASCII-Wert (American Standard Code for Information Interchange) Null sein, der sich vom alphanumerischen Zeichen Null unterscheidet. Dies kann auch der Wert für null sein, dh kein Wert, der in einigen Sprachen mit ASCII-Null identisch ist.
Der Zweck, ein leeres Array zu haben, dient in einigen Programmen teilweise der Effizienz. Wenn ein Array leer ist, kann das Programm vermeiden, sinnlose oder falsche Berechnungen für das Array durchzuführen. Es kann auch verhindern, dass ein Programm auf ein Array zugreift, das keine gültige Speicheradresse hat, was zu einem Speicherzugriffsfehler führt, der das Programm beenden könnte. Einige Computersprachen verfügen über integrierte Bibliotheks- oder Klassenfunktionen, die leicht erkennen können, ob ein Array gemäß der Sprachdefinition tatsächlich leer ist.