Array oder Vektor ????????



  • Hallo,

    lerne gerade in meiner Ausbildung programmieren (leider muss ich mir alles selber beibringen 😞 ) und habe eine dringende Verständnisfrage.

    In den meisten Bücher werden

    feld[10]

    als Felder (Arrays) bezeichnet.

    Die Entwickler von C K. und R. schreiben in Ihrem Buch "The C Programming Language ANSI-C Reference" aber:

    ...unser nächstes Programm zählt einzelne Ziffern...
    Daher benutzen wir Vektoren, um die einzelnen Ziffern zu zählen, und nicht zehn verschiedene Variablen.

    <hier würde jetzt der Code stehen, ist mir aber zu lang>

    Die Definition int ndigit[10]; vereinbart ndigit als Vektor mit zehn ganzzahligen Werten. Vektorindizes beginnen in C immer mit 0, also sind die Elemente ndigit[0], ndigit[1], ndigit[9].

    Im Vorwort steht noch dazu:

    ... Schon in der ersten Ausgabe haben wir uns sehr sorgfältig bemüht, in der Überzetzung einige Begriffe zu prägen; Wir sprechen von Vektoren, damit diese nicht in Konflikt zu Bit-Feldern stehen, von denen es ja gerade keine Vektoren gibt. Vektoren haben Elemente, die Komponenten überlassen wir den Strukturen...

    und noch eins obendrauf.

    Andre Willms (bekannter Autor) schreibt in seinem Buch zur Erklärung von Zeigern: Die Adresse einer Variablen z.B. 0xB20347 ist ein Vektor, da er konstant bleibt. Dieser Vektor geht als Wert in den Zeiger über....

    Was ist denn nun richtig 😕 😕 😕

    Danke für eure Hilfe.



  • Grundsätzlich ist ein Vektor in der Mathematik eine eindimensionale Matrix, v = [ v_1 v_2 .... v_n ]. Daraus leitet sich der Begriff Vektor als Synonym für ein eindimensionales Array ab. Array heißt übrigens im Deutschen Feld.
    Man kann Vektoren als Zeiger auffassen, z.B. in der analytischen Geometrie (zu Anwendungen frag mal hier im Spieleforum) oder in der Physik, z.B. sind die Geschwindigkeit oder die Kraft Vektoren (mit 3 Elementen für die 3 Raumdimensionen: F = [ F_x F_y F_z ]). Daraus leitet sich wohl der Begriff Vektor als Synonym für Adressen her, IMHO hauptsächlich bei dem Begriff Interruptvektor = die Adresse, an der eine bestimmte Interruptroutine liegt; sonst sagt man Zeiger.



  • Aahaa...soso..irgendwie versteh ich nur Bahnhof. Kann das wer für Anfänger umvormulieren und vor allem näher an der Frage dran.

    Ist dann das Feld(Array) den Willms erläuter genau das gleiche wie der Vektor den K&R beschreiben? Warum werden dann unterschiedliche Begriffe verwendet?



  • ok nochmal für dich:

    a) Vektor = eindimensionales Array
    b) Vektor = Zeiger = Speicheradresse

    die zweite Bedeutung ist relativ unüblich



  • Lineare Algebra, A. Beutelspacher



  • Danke,Danke.

    Aber warum werden dann unterschiedliche Namen dafür verwendet, das ist doch doppeltgemoppelt und verwirrt den Anfänger nur.



  • Willkommen in der Realen Welt.



  • wieso habe ich nur die blaue pille genommen



  • Original erstellt von elise:
    wieso habe ich nur die blaue pille genommen

    damit du nicht schwanger wirst?



  • Original erstellt von <nixkappierer>:
    [quote]Original erstellt von elise:
    [qb]wieso habe ich nur die blaue pille genommen

    damit du nicht schwanger wirst?[/QB][/QUOTE]

    die kinder haben kein matrix geschaut.. ojehhh



  • sehr witzig..



  • ja, nicht wahr ??



  • Original erstellt von elise:
    die kinder haben kein matrix geschaut.. ojehhh

    😡


Anmelden zum Antworten