4 Antworten

Weil man einfach durch Startposition + Index die Adresse des gewünschten Elements enthält. Würde der Index bei 1 beginnen, müsste man Starpositoin + Index - 1 rechnen. (jeweils natürlich ein Vielfaches vom Index, je nach Größe der einzelnen Elemente)

Woher ich das weiß:Studium / Ausbildung – Datenverarbeitungs-Kfm, Hobby- und Profi-Programmierer

Ein Array ist an einem bestimmten Punkt im Speicher gespeichert.

Stell dir die Speicherzellen einfach als eine Reihe von Kästchen vor, jedes hat eine Nummer.

...|10|11|12|13|14|15|16|...

Das ist dein Speicher. Nun nehmen wir einfach mal an, das Array ist ab Speicherzelle 12 gespeichert und hat 4 Einträge. Beim Programmieren wird hier mit Pointern gearbeitet - Das ist einfach ein Verweiß auf eine bestimmte Speicherzelle. Zum Beispiel zeigt der Pointer auf das Array auf die Speicherzelle 12. Da das Array dort beginnt. Das erste Element liegt dort, die weiteren Elemente in den darauffolgenden Speicherzellen. Hier die vier Elemente des Arrays mal dick markiert:

10|11|12|13|14|15|16|...

Der Index eines Array-Elements gibt nun die Distanz an, die es vom Start des Arrays (also von der Speicherzelle, auf die der Pointer zeigt) entfernt ist.

Das zweite Elemente ist an Stelle 13. Das Array beginnt bei Stelle 12. Die Distanz: 1.

Das erste Element ist an Stelle 12. Dort beginnt auch das Array. Die Distanz: 0.

Daher beginnt ein Array mit Index 0. Da das erste Element genau da liegt, wo der Pointer (der den Start des Arrays angibt) hinzeigt. Und der Abstand zum Start ist folglich für das erste Element 0.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

tidy42 
Beitragsersteller
 26.04.2021, 18:19

Irgendwie habe oft Schwierigkeit etwas gut zu nachvollziehen. Ih kann NUR grob verstehen. Das ist vielleicht wie bei Zahlgerade in Mathe( Betrag) von Zahl. Entfernung zur Null.

0

Weil sich das als praktischer erwiesen hat.

Weil 0 die "kleinste Einheit" ist.