Warum geht mein Programm nicht?!

Mir ist keine Entsprechung zu "Stock" in anderen Sprachen bekannt. Du verwechselst das vielleicht mit Etage oder Geschoss ;) Im Deutschen wird auf das Erdgeschoss aufgestockt.

Dazu meinte ich bla. Aber ihr habt mir dennoch sehr geholfen, danke.
 
geklärt..
 
Zuletzt bearbeitet:
aretiss, below und _ebm_ haben mit ihren Einwänden völlig recht! Verbale Flapsigkeiten würde ich hier unterlassen, man kann bereits lesen wohin sowas führt :)
 
Achsooooo. Das ist ja etwas unlogisch gemacht, aber naja...

Für Anfänger nicht logisch. Aber pragmatisch.
Arrays sind nämlich nur Pointer, wobei der Aufruf 'int myArray[10]' im Speicher 10 Speicherplätze von Integergröße erstellt. In Zeigerschreibweise:
Code:
(int*) malloc(10*sizeof(int))
Der Zugriff auf die Integerwerte erfolgt über 'myArray', was in Zeigern heißt:
Code:
*(myArray + i * sizeof(int))
Das Element an Stelle 0 steht also direkt an 'myArray'.
Wenn du dir ansiehst wie Arrays organisiert sind, dann ist das 0-er Zählen logisch. Nach kurzer Eingewöhnung merkst du es gar nicht mehr, da die Syntax der Sprachen darauf ausgelegt ist.
Das z.B. iteriert dir über alle Elemente deines Arrays:
Code:
int arrayLength = 10;
int myArray[arrayLength];
//Dazwischen wirds befüllt...
for (int i = 0; i < arrayLength; i++)
  {
    cout << myArray[i] << endl;
  }

Ein kleiner Tipp: Beim Programmieren sollte man sich immer mit überlegen, was deine Pointer und damit auch Arrays im Speicher machen/anrichten, das erspart VERDAMMT viel Ärger im Nachhinein.
 
  • Gefällt mir
Reaktionen: buk, _ebm_, Kümmelkorn und 2 andere
Zurück
Oben Unten