Array
Ein Array ist ein Konstrukt in dem mehrere Objekte eins Datentyps hintereinander aufgereiht stehen. (Es wird hier immer von Objekten geredet egal ob es in der Programmiersprache Objekte gibt oder nicht) Diese Konstrukte werden oft verwendet wenn man eine große Ansammlung von gleichen Daten eines Objekts hat, durch die Verwendung von Arrays muss man nicht viele Variablen anlegen und hat so alles übersichtlicher. In den meisten Sprachen haben Arrays jedoch den Nachteil das sie statisch sind, d.h. man legt einmal ihre Größe fest und danach kann man es nicht mehr ändern, will man mehr Objekte ablegen dann muss man sich einen neuen Array anlegen. Daher haben Arrays in diesen Sprachen aber auch einen Vorteil gegen über den dynamischen Strukturen wie Listen, da sie eine fest definierte Größe haben kann man sie über einen Index anlegen und so über den Index darauf zugreifen, dies ist meistens eine schnellere Möglichkeit als bei anderen Strukturen möglich ist.
Für die Erzeugung von Arrays gibt es unterschiedliche Wege, jedoch haben sie meistens gemeinsam das eckige Klammern([]) einen Array symbolisieren. So wird in C und C++ ein Array mit typ name[];
deklariert und die Initialisierung kann auf zwei unterschiedliche Wege erfolgen, name = typ[anzahl]
oder name = malloc(sizeof(typ)*anzahl)
, bzw. name = new typ[anzahl]
. Der Unterschied zwischen den beiden Arten ist, dass bei der ersten Möglichkeit der Speicher vom Compiler festgelegt wird und so nicht mehr freigegeben werden muss und bei der zweiten Art zur Laufzeit angelegt wird, welchen man dann auch selbst freigeben muss. Will nab in C# oder Java einen Array anlegen geschied dies mit typ[] name;
und die Initialisierung erfolgt über name = new typ[anzahl]()
. In Java ist es auch möglich die Arrays wie in C++ anzulegen.
Bei der Sprache C# wurde noch ein weiterer Arraytyp eingeführt. Hier sind in jeder Zeile immer gleich viele Objekte, diese werden mit typ[,] name = new typ[anzahl,anzahl]();
angelegt. In allen anderen Sprachen lassen sich Arrays auch mit mehreren Dimensionen anlegen, hierzu muss nur ein weiteres Klammerpaar hinzugefügt werden. Diese neuen Arrays in dem bestehenden Array müssen auch nicht gleich initialisiert werden sondern können auch erst später angelegt werden um so besser auf die Gegebenheiten angepasst zu sein. Daher ist es möglich das eine Zeile mal 4 Objekte enhält und eine mal garkeine, dies muss dann im Programm alles gesondert behandelt werden.
Neben der Möglichkeit des Anlegen von leeren Arrays ist es auch Möglich Arrays gleich mit vorhandenen Daten anzulegen. In den meisten Sprachen ist dies einfach möglich indem man nach der normalen Syntax für die Initialisierung des Arrays gleich in geschweiften Klammern die Objekte durch Kommas getrennt einfügt, z.B. in Java: <code=java> String s = new String[]{"Hallo"," ","Hallo","!!!"}; </code=java> In einigen Sprachen ist es auch möglich bei der Deklaration der Variablen gleich die Werte zuzuweisen ohne die übliche Initialisierungssyntax, z.B. in Java: <code=java> String[] s = {"Hallo"," ","Hallo","!!!"}; </code=java>