Dynamisches Array und seine Funktionen

Computer

Ein Array wird allgemein als geordnet bezeichneteine Reihe von Elementen, von denen jedes einen bestimmten (gleichen) Typ hat. Arrays sind statisch und dynamisch. Die Länge des ersten wird während der Programmierphase eingestellt, d.h. vor dem Start des Programms zu laufen, der zweite - während der Ausführung.
Für ein statisches Array sollte die Beschreibung seinDie Anzahl der Elemente, die während des Programmbetriebs nicht geändert (erhöht oder verringert) werden können, wird festgelegt. Wenn Sie ein Programm ausführen, das ein statisches Array verwendet, werden dem Speicher eine Anzahl von Bytes zugewiesen, um seine Elemente zu speichern. Diese Speichermenge 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 eine Struktur beispielsweise aus hundert Elementen beschreiben und unterschiedliche Anzahlen von Elementen auf verschiedenen Stufen verwenden, die 100 nicht überschreiten. Und das ist natürlich nicht sinnvoll.
Ein solches Problem existiert nicht in einem integriertenDelphi Entwicklungsumgebung. Mit dem dynamischen Array können Sie angeben, dass die Anzahl der Elemente in der Beschreibung nicht angegeben werden soll, sondern während der Ausführung des Programms. Ein dynamisches Array kann im Abschnitt Var wie folgt beschrieben werden:
Var Massive: Array von ganzen Zahlen

 Delphi dynamisches Array

So bezeichnet die StrukturBezeichner Massive, ist eine lineare Ganzzahlsequenz unbekannter (noch!) Länge. Um die Größe festzulegen, muss das Programm die SetLength-Prozedur verwenden, beispielsweise SetLength (Massive, 9). Ein dynamisches massives Array erhält eine Dimension, die der Zahl 9 entspricht. Nun wird festgestellt, dass die Sequenz neun ganzzahlige Elemente enthält, die von Null nummeriert sind. Diese Features haben ein dynamisches Array. Delphi hat eine Prozedur, die Speicher von einer Reihe von Zahlen befreit, wenn die Notwendigkeit für ihren Speicher verschwunden ist. Dies ist das Finalize-Verfahren, in unserem Fall wird es wie folgt angewendet: Finalize (Massive).

dynamisches Array

In ähnlicher Weise können Sie mehrdimensionale dynamische Arrays in Delphi beschreiben und anwenden. Zum Beispiel wird eine zweidimensionale dynamische Struktur wie folgt beschrieben:
Var Massive: Array des Arrays von Integer
Die Matrixsäulen können bei Bedarf unterschiedlich lang sein. Dies wird auch von der SetLength-Prozedur angegeben.

dynamisches Array Delphi

Oft passiert, besonders in großen und komplexenProgramme, bei denen einige Datenstrukturen von Zeit zu Zeit oder nur am Anfang / Ende des Programms verwendet werden. Gleichzeitig wäre es sehr verschwenderisch, einen Platz im RAM "in Reserve" zu halten. Dynamisches Array ist eine der Möglichkeiten der rationellen Verteilung von Ressourcen des Computersystems. Obwohl es einige Nachteile hat. Erstens ist es nicht immer praktisch, die Elemente von Grund auf neu zu nummerieren. Zweitens muss der Programmierer ständig an jedem Punkt des Programmcodes verstehen, in welchem ​​Zustand sich das dynamische Array befindet. Aber seine Tugenden machen all diese Schwierigkeiten lächerlich. Insbesondere wenn Sie große Datenmengen aus einem Unterprogramm übertragen möchten, können Sie auf eine dynamische Darstellung nicht verzichten.