Thema: C - Vektoren
Einzelnen Beitrag anzeigen
Alt 28.11.2003, 04:53   #2
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

also erstens: gebräuchlicher ist der ausdruck array. vektor ist nur selten in dem zusammenhang zu finden.

zu deinen fragen:

1) i brauchst du zum durchlaufen des arrays
und weil du in c bist musst du die vars oben bereits deklarieren. i hat aber ansonsten mit zahl nix zu tun, ist eine eigentständige var.

vielleicht verständlicher wenn du schreibst

int zahl[10]; // array
int i; /counter

2 + 3)
stell dir ein array als straße vor. der name des arrays ist der straßenname.
zahl ist also eine straße mit 10 häusern, in denen kannst du werte speichern.

wenn du auf das dritte haus zugreifen willst brauchst du straßenname + hausnummer.
zahl[2]

oder - ohne vergleich. zahl ist nur ein pointer auf die startadresse eines freien speicherbereiches. die länge des speicherbereichs ist die anzahl der elemente * der größe in bytes pro element. um auf ein element zugreifen zu können, benutzt man den index, der die entsprechende zahl an bytes "weiterspringt"

zweiter fragenblock:
nr 1: die werte im array sind nicht standardmäßig gesetzt, sprich nehmen irgendeinen wert an. deshalb setzt du alle werte zu sicherheit mal auf 0.
nr 2 + 3: das is wirklich strange. aber da du an der position laenge - 1 speicherst, fängst du effektiv eh bei 0 an.
der grund ist hier die besssere lesbarkeit, (laenge fängt bei 1 an) meiner meinung nach aber net wirklcih sinnvoll hier. kommentare fehlen, genau solche sachen gehören kommentiert
nr 4: du speicherst an index 0 die zahl der wörter mit 1 buchstaben länge, an index 1 die mit 2 buchstaben usw.
sprich an adresse i speicherst du die zahl der wörter mit i+1 buchstaben.

alles klar?
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees.
Who-T ist offline   Mit Zitat antworten