Eindimensionale und Mehrdimensionale Arrays
In diesem Artikel werden verschiedene Methoden/Vorgehensweisen gezeigt wie Felder angelegt und ausgelesen werden können.
Eindimensionale Felder
// === Eindimensionales Feld von Character === // 1. Variante (automatische Feldgrößenzuweisung) char arrA[] = "Hallo"; // 2. Variante (Feldgröße selber bestimmen) char arrB[6] = "Hallo\0"; // \0 darf hier nicht vergessen werden! // 3. Variante (direkte Arrayinitialisierung) char arrC[6] = {'H', 'a', 'l', 'l', 'o', '\0'}; // Auch hier bitte \0 nicht vergessen
// === Eindimensionales Feld von Integer === int arr[10]; for(int i=0; i<10; i++) // Array mit Daten füllen arr[i] = i*2; // Ausgabe cout << arr[2] << endl; // Array an der Stelle 2 ausgeben
// === Zeiger auf eindimensionales Feld von Integer === int* arrPtr; arrPtr = new int[10]; for(int i=0; i<10; i++) // Array mit Daten füllen arrPtr[i] = i*2; // Ausgabe cout << arrPtr[2] << endl; // Array an der Stelle 2 ausgeben
// === Zeiger auf eindimensionales Int-Feld von zeigern === int** arrPtrPtr; arrPtrPtr = new int*[10]; for(int i=0; i<10; i++) // Array mit Daten füllen { int* j = new int(i*2); arrPtrPtr[i] = j; } // Ausgabe cout << *arrPtrPtr[2] << endl;
// === Zweidimensionales Array von Integer === int arr2D[20][10]; for(int i=0; i<10; i++) // Array mit Daten füllen for(int j=0; j<10; j++) // Array mit Daten füllen arr2D[i][j] = i*j*2; // Ausgabe cout << arr2D[2][2] << endl; // Array an der Stelle 2 ausgeben
// === Zweidimensionales Array von Strings === int len1 = 10; // Groesse der 1. Dimension int len2 = 20; // Groesse der 2. Dimension string** matrix = new string*[len1]; // 1. Dimension anlegen for(int i=0; i<len1; i++) matrix[i] = new string[len2]; // 2. Dimension anlegen // Alle mit new erzeugten Arrays wieder löschen for(int i=0; i<len1; i++) delete[] matrix[i]; // 2. Dimension löschen delete[] matrix; // 1. Dimension löschen