Datamaskiner, Programmering
En dynamisk matrise og dets funksjoner
Array er vanligvis referert til som et beordret sett av elementer som hver har en viss (den samme) type. Arrays er statiske og dynamiske. den første lengde er angitt i trinn, dvs. programmering før start av programmet for gjennomføring, den andre - i løpet av gjennomføringen.
For en statisk matrise i beskrivelsen bør bestemmes antall elementer som ikke kan endres (øker eller reduserer) i løpet av programmet. Når programmet starter, ved hjelp av en statisk matrise for utførelse i hukommelsen et antall bytes tildeles for å lagre dens elementer. Denne mengden minne vil bli tildelt til programmet så lenge den har avsluttet sitt arbeid. Selv om dette minnet ikke blir brukt, vil ingen annen kode ikke være i stand til å få tilgang til det.
Pascal programmeringsspråk kan bare jobbe med statiske arrays. Derfor, hvis du ønsker å arbeide med en sekvens av variabel lengde, er det mulig å beskrive strukturen, for eksempel av hundre elementer, og brukes på ulike stadier av et annet antall elementer, som ikke overstiger antallet 100. Og det er absolutt ingen god idé.
Dette problemet eksisterer ikke i det integrerte utviklingsmiljøet i Delphi. En dynamisk matrise tillater beskrivelsen ikke angir det antall elementer, og bestemme dens kjøring. En dynamisk matrise kan beskrives i Var avsnitt som følger:
Var Massive: array integer
Således struktur, betegnet identifikator Massive, er en lineær sekvens av ukjente heltall (så langt) i lengde. Hvis du vil angi størrelsen, må programmet søke SetLength prosedyre, for eksempel SetLength (Massive, 9). Massive erverve dynamiske matrise dimensjon lik antallet 9. Nå er det fastslått at i sekvensen er det ni elementer av typen heltall, nummerert fra null. Disse funksjonene har en dynamisk array. Delphi er en prosedyre frigjør minnet om et sett med tall, hvor behovet for lagring forsvant. Denne prosedyren Finalize, i vårt tilfelle det vil bli brukt som følger: Ferdig (Massive).
Tilsvarende kan man beskrive og anvende flerdimensjonale matriser dynamiske i Delfi. For eksempel vil to-dimensjonal dynamisk struktur beskrives som følger:
Var Massive: array array integer
Om nødvendig, kan søylene være av forskjellige lengder. Det er også spesifisert SetLength prosedyre.
Ofte, spesielt i store og komplekse programmer, noen datastrukturer brukes fra tid til annen, eller bare i begynnelsen / slutten av programmet. Det var "i reserve" ville være svært uøkonomisk å holde i minnet. En dynamisk array - en måte rasjonell allokering av ressurser av datasystemet. Selv om det har noen ulemper. For det første er det ikke alltid praktisk nummerering elementer fra scratch. For det andre bør programmereren alltid forstås i hvert punkt av koden, tilstanden av den dynamiske matrise. Men sine fordeler gjør latterlige alle disse vanskelighetene. Spesielt hvis du ønsker å sende ut et stort volum av data subrutine, det kan ikke gjøre uten dynamisk modus for representasjon.
Similar articles
Trending Now