Ein Array wird im Allgemeinen als geordnet bezeichnetEine Menge von Elementen, von denen jedes einen bestimmten (ein und denselben) Typ hat. Arrays sind statisch und dynamisch. Die Länge der ersten wird in der Programmierphase eingestellt, d.h. vor dem Start des Programms laufen die zweiten - im Zuge der Ausführung.
Für ein statisches Array sollte die Beschreibung lautenDie Anzahl der Elemente, die während des Programmiervorgangs nicht geändert werden können (erhöhen oder verringern), wird festgelegt. Wenn Sie ein Programm starten, das ein statisches Array verwendet, wird eine bestimmte Anzahl von Bytes im Speicher für die Ausführung reserviert, um seine Elemente zu speichern. Diese Menge an Speicher wird dem Programm zugewiesen, bis es seine Arbeit beendet hat. Selbst wenn dieser Speicher nicht verwendet wird, kann kein anderer Programmcode darauf zugreifen.
Pascal-Programmiersprache kann funktionierennur mit statischen Arrays. Wenn Sie also mit einer Sequenz variabler Länge arbeiten möchten, können Sie die Struktur von beispielsweise einhundert Elementen beschreiben und in verschiedenen Phasen eine andere Anzahl von Elementen verwenden, die die Zahl 100 nicht überschreitet. Und dies ist natürlich nicht zumutbar.
Ein solches Problem gibt es bei integrierten nichtDelphi-Entwicklungsumgebung. In einem dynamischen Array können Sie die Anzahl der Elemente in der Beschreibung nicht angeben, sondern während der Programmausführung bestimmen. Ein dynamisches Array kann im Abschnitt Var wie folgt beschrieben werden:
Var Massive: Array von ganzen Zahlen
Somit ist die Struktur angegebenbezeichner Massiv, ist eine lineare Ganzzahlfolge unbekannter (noch!) Länge. Zum Festlegen der Größe muss das Programm die Prozedur SetLength verwenden, z. B. SetLength (Massive, 9). Das Massive Dynamic Array erhält eine Dimension, die der Zahl 9 entspricht. Nun wird bestimmt, dass die Sequenz neun Elemente eines Integer-Typs enthält, die von Null an nummeriert sind. Diese Funktionen verfügen über ein dynamisches Array. Delphi verfügt über eine Prozedur, mit der der Speicher von einer Reihe von Zahlen befreit wird, wenn der Speicherbedarf nicht mehr besteht. Dies ist die Finalize-Prozedur, in unserem Fall wird sie folgendermaßen angewendet: Finalize (Massive).
Ebenso können Sie mehrdimensionale dynamische Arrays in Delphi beschreiben und anwenden. Beispielsweise wird eine zweidimensionale dynamische Struktur wie folgt beschrieben:
Var Massive: Array von Array von Integer
Bei Bedarf können die Spalten der Matrix unterschiedlich lang sein. Dies wird auch durch die SetLength-Prozedur angegeben.
Es kommt oft vor, vor allem in großen und komplexenProgramme, bei denen einige Datenstrukturen von Zeit zu Zeit oder nur am Anfang / Ende des Programms verwendet werden. In diesem Fall wäre es sehr verschwenderisch, einen Platz im RAM "in Reserve" zu halten. Ein dynamisches Array ist eine der Möglichkeiten, einem Computersystem Ressourcen rational zuzuweisen. Es hat zwar einige Nachteile. Erstens ist dies nicht immer eine bequeme Nummerierung von Elementen von Grund auf. Zweitens muss der Programmierer an jedem Punkt im Programmcode ständig verstehen, in welchem Zustand sich das dynamische Array befindet. Aber seine Vorzüge machen all diese Schwierigkeiten lächerlich. Insbesondere wenn Sie große Datenmengen aus einem Unterprogramm übertragen möchten, können Sie auf eine dynamische Darstellungsweise nicht verzichten.