Skip to main content

Hva er et tomt utvalg?

Den nøyaktige definisjonen av hva en tom matrise er i dataprogrammering er ikke alltid tydelig.En vanlig tolkning er at en matrise er tom hvis den har null elementer, selv om ikke alle dataspråk lar en matrise erklæres på denne måten.En annen tolkning av et tomt utvalg er en matrise der alle dataelementene enten er null, null eller udefinert, avhengig av programmeringsspråket som brukes.Enkelte språk skiller mellom en matrise som er tom og en matrise som ikke er tildelt ennå og er lik null, selv om andre språk kan anse en ikke tildelt matrise for å være et tomt utvalg.

Det er spesifikke forekomster der en matriseKan erklæres i et program uten elementer, noe som betyr at det ikke kan inneholde data og regnes som et tomt utvalg.Dette er ofte dynamiske matriser som kan øke antall elementer, fordi en matrise uten elementer i det vesentlige er ubrukelig.I objektorienterte programmeringsspråk kan en tom matrise deklareres i et array-klasseavslutningsobjekt som opprettholder array-datastrukturen internt.I noen skripting og metaspråk sendes en tom matrise som en parameter til funksjoner som skal fylles eller tildeles verdier fra en annen datakilde.

Den andre betydningen av en tom matrise er en matrise som er blitt initialisert slik at den ikke inneholder data, eller er fylt med verdier som indikerer at ingen data er til stede.Dette skyldes at på språk som C, når minneplass for en matrise er tildelt, inneholder den fremdeles eventuelle restdata fra tidligere programmer eller filer som kan ha okkupert plassen.For å tømme en matrise som dette, må hvert element sløyfes gjennom og deretter settes til en nøytral verdi.Denne verdien kan være den faktiske amerikanske standardkoden for informasjonsutveksling (ASCII) verdi null, som er forskjellig fra den alfanumeriske karakteren null.Det kan også være verdien for null, noe som betyr ingen verdi, som er den samme som ASCII null på noen språk.

Formålet med å ha en tom matrise er delvis for effektivitet i noen programmer.Ved å ha en matrise som er tomt, kan programmet unngå å utføre meningsløse eller uriktige beregninger på matrisen.Det kan også forhindre at et program får tilgang til en matrise som ikke har en gyldig minneadresse, noe som forårsaker en minnetilgangsfeil som kan avslutte programmet.Noen dataspråk har innebygde bibliotek- eller klassefunksjoner som enkelt kan fortelle om en matrise faktisk er tom i henhold til språkdefinisjonen.