Skip to main content

Vad är en tom matris?

Den exakta definitionen av vad en tom matris är i datorprogrammering är inte alltid tydlig.En vanlig tolkning är att en matris är tom om den har nollelement, även om inte alla datorspråk tillåter en matris att deklareras på detta sätt.En annan tolkning av en tom matris är en matris där alla dataelement är antingen noll, noll eller odefinierade, beroende på programmeringsspråket som används.Vissa språk gör en åtskillnad mellan en matris som är tom och en matris som ännu inte tilldelats och är lika med noll, även om andra språk kan betrakta en odelad matris som en tom matris.

Det finns specifika fall där en matriskan deklareras i ett program utan element, vilket innebär att det inte kan hålla några data och betraktas som en tom matris.Dessa är ofta dynamiska matriser som kan öka antalet element, eftersom en matris utan element är väsentligen oanvändbar.På objektorienterade programmeringsspråk kan en tom matris deklareras i ett arrayklassomslagsobjekt som upprätthåller matrisdatastrukturen internt.I vissa skript- och meta-språk skickas en tom matris som en parameter till funktioner som ska fyllas eller tilldelas värden från en annan datakälla.

Den andra betydelsen av en tom matris är en matris som har initialiserats så att den inte innehåller några dataeller är fylld med värden som indikerar att ingen data finns.Detta beror på att på språk som C, när minnesutrymmet för en matris tilldelas, innehåller det fortfarande eventuella restdata från tidigare program eller filer som kan ha ockuperat utrymmet.För att tömma en matris som detta måste varje element slingas igenom och sedan ställas in till ett neutralt värde.Detta värde kan vara den faktiska amerikanska standardkoden för informationsutbyte (ASCII) värde noll, vilket skiljer sig från den alfanumeriska karaktären noll.Det kan också vara värdet för noll, vilket betyder inget värde, vilket är detsamma som ASCII noll på vissa språk.

Syftet med att ha en tom matris är delvis för effektivitet i vissa program.Genom att ha en matris som är tom kan programmet undvika att utföra meningslösa eller felaktiga beräkningar på matrisen.Det kan också förhindra att ett program har åtkomst till en matris som inte har en giltig minnesadress, vilket orsakar ett minnesåtkomstfel som kan avsluta programmet.Vissa datorspråk har inbyggda bibliotek eller klassfunktioner som enkelt kan se om en matris faktiskt är tom enligt språkdefinitionen.