Beispiel 2: char zahl[10]

24.10.2016 09:31 Uhr
#include <iostream>

using namespace std;

int main()
{
char zahl1[10], zahl2[10];

cout << "Bitte geben Sie eine Römische Zahl ein: ";
cin >> zahl1;
cout << "Bitte geben Sie noch eine Römische Zahl ein: ";
cin >> zahl2;
cout << zahl1 << " + " << zahl2 << " = ????" << endl;

return 0;
}

Wir haben bisher gesagt, daß eine Variable grundsätzlich definiert wird, indem hinter einen Datentyp ein oder mehrere, ggf. durch Kommata getrennte, Variablennamen geschrieben werden.

Dies ergänzen wir nun durch das Konzept, daß durch das Anfügen eines Paares eckiger Klammern an den Variablennamen mit einer dazwischen stehenden Zahl, angegeben wird, wieviele Variable des Datentyps wir brauchen.

char zahl steht also für: „Ich benötige genau ein Zeichen (char), das ich unter der Bezeichnung ‚zahl‘ verwenden möchte.“

char zahl [10] steht dagegen für: „Ich benötige genau zehn Zeichen (char), die ich unter der Bezeichnung ‚zahl‘ verwenden möchte.“

Da römische Ziffern so gut wie immer mehr als ein Zeichen umfassen, müssen wir auf diese Weise den entsprechenden „Platz“ für alle einzulesenden Zeichen reservieren.

#include <iostream>

using namespace std;

int main()
{
char zahl1[10], zahl2[10];

cout << "Bitte geben Sie eine Römische Zahl ein: ";
cin >> zahl1;
cout << "Bitte geben Sie noch eine Römische Zahl ein: ";
cin >> zahl2;
cout << zahl1 << " + " << zahl2 << " = ????" << endl;
}

Variablen, unter deren Namen auf diese Weise eine ganze Reihe von hintereinander zu denkenden Einzelwerten verwaltet werden, heißen Arrays.

Grundsätzlich gilt:

  1. Ein Array, das zu groß gewählt oder dimensioniert wird, verschwendet Speicherplatz.
    char zahl1[1000000000], zahl2[1000000000];
    

    wäre denkbar; hieße allerdings, daß wir zum Ausführen unseres Programmes zwei Gigabyte ROM (= Memory) benötigen würden.

  2. Ein Array, das zu klein gewählt ist, ist wesentlich gefährlicher: Der Versuch einen größeren Wert, z.B. die Zahl „mmmmmdiiilxxxviii“, die mehr als 10 Stellen hat, in unser Programm einzulesen, führt im günstigsten Fall zu Unsicherheiten, d.h., das Programm wird gelegentlich oder regelmäßig falsche Resultate lieferm. Bei komplexeren Programmen führen zu klein dimensionierte Arrays fast immer zum „Absturz“ des Programmes und bei wenig professionellen Betriebssystemen, wie den Microsoftprodukten, gelegentlich zur Notwendigkeit, den Rechner neu zu booten.
    Vorsicht!