Computers, Programmering
Een dynamische array en de mogelijkheden
Matrix wordt algemeen aangeduid als een geordende reeks elementen typen elk een bepaald (hetzelfde). Arrays zijn statisch en dynamisch. de eerste lengte wordt gespecificeerd in stap, d.w.z. programmering vóór de start van het programma voor de uitvoering, de tweede - in de loop van de uitvoering.
Een statische array in de beschrijving worden bepaalde aantal elementen die niet kan worden gewijzigd (toename of afname) tijdens het programma. Wanneer het programma start, via een statisch stelsel voor de uitvoering in het geheugen een aantal bytes toegewezen aan de elementen slaan. Deze hoeveelheid geheugen worden toegewezen aan het programma, zolang het zijn werk is voltooid. Zelfs als dit geheugen niet wordt gebruikt, worden er geen andere code niet in staat zijn om toegang te krijgen.
Pascal programmeertaal kan alleen werken met statische arrays. Daarom, als u werken met een sequentie van variabele lengte, is het mogelijk om de structuur te beschrijven, bijvoorbeeld van de honderd elementen, en gebruikt in verschillende stadia van een verschillend aantal elementen die ten hoogste gelijk nummer 100. En het is zeker onverstandig.
Dit probleem bestaat niet in de geïntegreerde ontwikkelomgeving van Delphi. Een dynamische matrix maakt de beschrijving niet het aantal elementen aangeven, en bepaalt de looptijd. Een dynamische array kan Var doorsnede als volgt worden omschreven:
Massieve var: reeks integer
Dus de structuur, aangeduid identifier Massale, is een lineaire opeenvolging van onbekende integer (tot nu toe) lang. Om de in te stellen, moet het programma setlength procedure toe te passen, bijvoorbeeld setlength (Massive, 9). Massieve verwerven dynamische arrayafmeting gelijk aan het aantal 9. Nu is vastgesteld dat in de reeks zijn er negen elementen van het type integer, genummerd van nul. Deze functies hebben een dynamische array. Delphi is een procedure bevrijdt de herinnering aan een reeks getallen, waar de behoefte aan het opslaan verdwenen. Deze procedure Afsluiten, in ons geval wordt toegepast als volgt: Finalize (massieve).
Evenzo kan men beschrijven en multidimensionale dynamische array toepassen Delphi. Zo zal tweedimensionale dynamische structuur als volgt worden omschreven:
Massieve var: reeks reeks integer
Eventueel kunnen de kolommen van verschillende lengten. Het wordt ook aangegeven setlength procedure.
Vaak, vooral in grote en complexe programma's, sommige datastructuren gebruikt worden van tijd tot tijd, of alleen aan het begin / einde van het programma. Het was "in reserve" zou een grote verspilling in het geheugen te houden. Een dynamische serie - een manier om rationele verdeling van de middelen van het computersysteem. Hoewel het heeft een aantal nadelen. Ten eerste is het niet altijd handig nummering elementen vanaf nul. Ten tweede moet de programmeur altijd duidelijk zijn op elk punt van de code, de toestand van de dynamische matrix. Maar de voordelen maken belachelijke al deze moeilijkheden. In het bijzonder, als je wilt voor het verzenden van een grote hoeveelheid gegevens subroutine, kan het niet doen zonder de dynamische wijze van representatie.
Similar articles
Trending Now