![]() |
Array
Servus,
Ich habe momentan ein Verständnisproblem mit den sogenannten ,, Arrays ". Folgendes ist mir unklar: High(my2DIntArray); Dieser Aufruf liefert 2 zurück, denn das Array enthält ja drei Zeilen! Ein Aufruf von ʺLengthʺ würde 3 zurück geben. Um den höchsten zulässigen Index der ʺUnterarraysʺ herauszufinden, wendet man High einfach auf sie an: High(my2DIntArray[0]); liefert 0 zurück (weil es ja nur ein Element enthält) und High(my2DIntArray[3]); liefert 6 zurück. ʺLengthʺ würde 1 bzw. 7 zurückliefern Ich verstehe nämlich nicht, wie man darauf gekommen ist, wieviele Zeilen und Elemente das Array hat und wie man darauf kommt, wieviel zurückgeliefert wurde. Ich wäre dankbar, wenn ihr mir helfen könntet. MfG, Farhan |
Re: Array
Ich verstehe deine Frage nicht wirklich. Angenommen du hast ein 2D Array:
Delphi-Quellcode:
Length() gibt dir immer die Anzahl der Elemente an, also z.b.:
var
My2DArray = Array[1..10] of Array[0..2] of Byte;
Delphi-Quellcode:
high() bzw low() geben dir den höchsten bzw den niedrigsten zulässigen Index zurück, also z.b.:
Length(My2DArray)
// ergibt 10 Length(My2DArray[4]) // ergibt 3 Length(My2DArray[7]) // ergibt 3
Delphi-Quellcode:
Die Deklaration habe ich extra als "Array of Array" gemacht, damit du siehst, dass du mit jedem Element es ersten Array ein weiteres Array ansprichst. Aus selbigem Grund habe ich 4 und 7 als Beispielindex verwendet, um zu zeigen, dass jedes Unterelement des ersten Array jeweils ein konstant großes zweites Array enthält.
high(My2DArray)
// ergibt 10 low(My2DArray) // ergibt 1 high(My2DArray[4]) // ergibt 2 low(My2DArray[4]) // ergibt 0 high(My2DArray[7]) // ergibt 2 low(My2DArray[7]) // ergibt 0 Gruß Zacherl |
Re: Array
Wie kommst du den auf solche Ergebnisse? Könntest du mir bitte es ausführlich erklären?
|
Re: Array
Zitat:
Delphi-Quellcode:
liefert dir die Anzahl der Array-Elemente.
Length(Array)
Delphi-Quellcode:
Liefert dir den Index des letzten Array-Elements.
High(Array)
Delphi-Quellcode:
liefert dir den Index des ersten Array-Elements
Low(Array)
Mehr gibts da nicht zu erklären. Schau dir halt die Beispiele von FAlter an. Gruß Neutral General |
Re: Array
Wie kommt er darauf was Lenght und High zurückgeben?
|
Re: Array
|
Re: Array
|
Re: Array
Aus der Speicherverwaltung der Runtime
|
Re: Array
Zitat:
|
Re: Array
Die Laufzeitbibliothek, über welche der Speicher verwaltet wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz