006
03.07.2003, 01:20 Uhr
Pablo
Supertux (Operator)
|
Genau wie Alf schon gesagt hat, ein Array begint bei 0. In der Informatik ist es sehr üblich, dass alles bei 0 anfängt, was ich für logisch halte, weil 0 die erste natürliche Zahl ist und (in unseren Zahlensystem) 9 die zehnte Zahl. Alle anderen Zahlen (> 9) sind nur eine Kombination von den 10 Basiszahlen.
Bei Arrrays muss du immer aufpassen, dass die Zahl, mit der du das Array deklarierst (sagen wir mal n) ist nur die Anzahl von Stellen, die das Array zu Verfügung stellt. Die größte Stelle, die man erreichen kann ist array[n-1].
In anderen Sprachen, wie in Visual Basic, kann man dem Compiler sagen, dass er beim 1 anfagen soll, aber was soll's, eben, das ist nur Visual Basic. Andere Sprachen teilen dir mit, wenn du auf array[n] zugreifst, weil du nur n Elemente zur Verfügung hast aber du willst dann das n+1. Element zugreifeb. C/C++ sagt dir das nicht, sondern macht deine anderen Variablen kaputt, so kann es sein, dass du folgendes hast:
C++: |
int z = 45147; int array[10]; // Array initialsieren array[10] = 2; cout << z << endl;
|
So könnte es sein, dass die Ausgabe 10121121210 ist, keine Ahnung, der Wert von z wird überschrieben und zwar mit einem sinnlosen Wert, vielleicht passiert nicht direkt bei z sondern bei einer anderen Variable, also vorsichtig damit! -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |