Multidimensionale Arrays bestehen aus mehreren Dimensionen (Ebenen). Nach dem Kennenlernen der zweidimensionalen Felder ist es nicht verwunderlich, dass es noch mehr Dimensionen gibt. Der Umgang mit multidimensionalen Arrays ist auch in der Programmierung üblich. In C++ gibt es keine explizite Konstruktion mehrdimensionaler Felder. Multidimensionale Arrays (C# Programmierhandbuch)Multidimensionale Arrays (C# Programmierhandbuch).
7.3 Mehrdimensionale Felder
Die eindimensionalen Felder korrespondieren mit optionalen Zugriffsmöglichkeiten. Auch die Verwendung von zwei- und multidimensionalen Felder ist in diesem Fall möglich. Das flächige Halbbild setzt sich aus Reihen und Säulen zusammen.
Die Einstellung und das Auslesen der Werte erfolgt wie folgt: internes Feld i = 222; externes Feld2[2][5]= i = i = i = i = ii[0][0]; auch bei multidimensionalen Felder ist eine enumerative Initiierung möglich: Dies führt zu einer zweidimensionalen Zuordnung: Es entsteht eine 2-dimensionale Maske mit folgender Zuordnung: Mit dem Längenattribut können Sie die Grösse von multidimensionalen Felder bestimmen.
Im obigen Beispiel ist dies der Fall: intern d = array1.length; gibt 3 für die erste Bemaßung zurück, die Zeilen. intern d = array1[2].length; gibt 6 zurück. Hinweis: Höhere Dimensionsfelder können nicht in allen Abmessungen die selbe Grösse haben.
Das bedeutet, dass ein flächiges Halbbild nicht rechtwinklig sein muss! Folgende Implementation erstellt ein „dreieckiges“ flächiges Feld: int[][][]; array1 = neu int[3][]; array1[0] = neu int[1]; array1[1] = neu int[2]; array1[2] = neu int[3]; Die Speicherstuktur für dieses Felds ist so: Die folgende:: Auch eine enumerative Initiierung ist möglich: int[][][][]1 = {{1},{11,22},{111,222,333}}; Das length-Attribut gibt bei dieser Anordnung unterschiedliche Resultate zurück.
Mit demselben Vorgehen können dreidimensional oder sogar hochdimensionale Felder erstellt und gepflegt werden. Für Objektfelder werden nur die Felder und nicht die entsprechenden Felder erstellt. Alle Felder werden nach der ersten Felderstellung mit Null-Referenzen gefüllt.
Für Felder mit Referenz werden die gewünschten Felder jedoch nicht unmittelbar erzeugt.
Leave a Reply