Arrays
Ein Array ist eine Sammlung von Objekten desselben Datentyps, die zusammenhängend im Speicher zugeordnet sind. Auf einzelne Objekte in einem Array, die als Elementebezeichnet werden, wird über ihre Position im Array zugegriffen. Der Subskribierungsoperator ([]) stellt die Mechanismen zum Erstellen eines Index für Array-Elemente bereit. Diese Form des Zugriffs wird als Indexierung oder Subskribierungbezeichnet. Ein Array erleichtert die Codierung sich wiederholender Tasks, indem die Anweisungen, die für jedes Element ausgeführt werden, in eine Schleife gestellt werden, die durch jedes Element im Array iteriert.
Die C-und C + + -Sprachen bieten eingeschränkte integrierte Unterstützung für einen Array-Typ: Lesen und Schreiben einzelner Elemente. Die Zuordnung eines Arrays zu einem anderen, der Vergleich von zwei Arrays für Gleichheit, die Rückgabe von Selbstkenntnis der Größe werden von keiner Sprache unterstützt.
Der Typ eines Arrays wird vom Typ seiner Elemente abgeleitet, was als Array-Typableitungbezeichnet wird. Wenn Arrayobjekte einen unvollständigen Typ aufweisen, wird der Arraytyp auch als unvollständig betrachtet. Array-Elemente dürfen nicht den Typ void oder den Funktionstyp aufweisen. Arrays von Zeigern auf Funktionen sind jedoch zulässig.
Array-Elemente dürfen keinen Referenztyp oder einen abstrakten Klassentyp aufweisen.
Der Array-Deklarator enthält eine Kennung gefolgt von einem optionalen Indexdeklarator. Eine Kennung, der ein Stern (*) vorangestellt ist, ist ein Array von Zeigern.
Der Indexdeklarator beschreibt die Anzahl der Dimensionen im Array und die Anzahl der Elemente in jeder Dimension. Jeder Ausdruck in Klammern oder Index beschreibt eine andere Dimension und muss ein konstanter Ausdruck sein.
charenthält:char list[4];0. Das Array list enthält die folgenden Elemente:list[0]
list[1]
list[2]
list[3]intenthält:int roster[3][2];roster werden beispielsweise in der folgenden Reihenfolge gespeichert:roster[0][0]
roster[0][1]
roster[1][0]
roster[1][1]
roster[2][0]
roster[2][1]- Array-Definitionen, die Initialisierungen enthalten
externDeklarationen- Parameterdeklarationen
In Array-Definitionen, die die erste Gruppe von Subskriptklammern leer lassen, bestimmt der Initialisierungsoperator die Anzahl der Elemente in der ersten Dimension. In einem eindimensionalen Array wird die Anzahl der initialisierten Elemente zur Gesamtzahl der Elemente. In einem mehrdimensionalen Array wird der Initialisierungsoperator mit dem Indexdeklarator verglichen, um die Anzahl der Elemente in der ersten Dimension zu ermitteln.
