Es geht mit C++ weiter und nach der Winterpause wirft dieser Artikel erneut einen Blick auf die Arrays…


Praxisbeispiel 1:

#include <iostream>
int main() {

int feld[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 10 Elemente, mit Initialisierung

for(int i = 0; i < 10; ++i) {
std::cout << feld[i] << " ";   // Elemente 0 bis 9 ausgeben
}
}


Praxisbeispiel 2:

#include <iostream>
int main() {

int feld[10] = {1,2,3,4,5,6,7,8,9,10};

std::cout << feld[3]   << "\n"; // Indexoperator
std::cout << *(feld + 3) << "\n"; // Zeigerarithmetik
}


Praxisbeispiel 3:

#include <iostream>
int main() {

int feld[10];

std::cout << "   Array Größe: " << sizeof(feld)                   << "\n";
std::cout << " Element Größe: " << sizeof(feld[0])                << "\n";
std::cout << "Element Anzahl: " << sizeof(feld) / sizeof(feld[0]) << "\n";
}

Was machen diese Arrays eigentlich?

Im Praxisbeispiel 1 wird ein Array mit der Zahlenreihe von 1 bis 10 gefüllt und anschließend mit einer for-Schleife ausgegeben.

Im Praxisbeispiel 2 wird ein Array mit der Zahelnreihe von 1 bis 10 gefüllt und dann direkt per Index ausgegeben. Das Array wird dazu mit seinem Namen (hier “feld“) angesprochen und bekommt noch eine Indexnummer mit auf den Weg. Indexnummer 3 entspricht hier also dem Feldinhalt mit der Zahl 4. Das erste Feld bekommt ja immer die Indexnummer 0 und deshalb gibt uns der Code auch die Zahl 4 aus. Abschließend wird auch noch die Zeigerarithmetik vorgeführt. Eine andere Methode um das Array auszulesen.

Im Praxisbeispiel 3 wird ein Array mit 10 Elementen angelegt und anschließend werden drei Parameter ausgegeben. Das Programm zeigt uns die Größe des Arrays, die Größe des Elements und die Anzahl der Elemente.

Beispiel für ein “fixed size Array“:

#include <iostream>
#include <string>

int main() {
    std::string countries[5];

    for (int i = 0; i < 5; ++i) {
        if (i == 0) {
            countries[i] = "Deutschland";
        } else if (i == 1) {
            countries[i] = "Frankreich";
        } else if (i == 2) {
            countries[i] = "Italien";
        } else if (i == 3) {
            countries[i] = "Spanien";
        } else {
            countries[i] = "Portugal";
        }
    }

    std::cout << "Länder: ";
    for (int i = 0; i < 5; ++i) {
        std::cout << countries[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

Deklaration des Arrays:

  • std::string countries[5];

Die Deklaration des Arrays sollte noch nachvollziehbar sein. Es wird ein fixed-size Arrays mit 5 Elementen vom Typ std::string erstellt.

Initialisierung der Werte im Array:

Per for-Schleife wird nun das Array gefüllt. Doch da fragt sich der unbedarfte C++ Einsteiger weshalb man das hier so gelöst hat…Natürlich geht das auch anders und das schauen wir uns im nächsten C++ Artikel an…

Von Torsten