Video: Forskellen Mellem Pointer Og Array
2024 Forfatter: Mildred Bawerman | [email protected]. Sidst ændret: 2023-12-16 08:37
Markør vs Array
En markør er en datatype, der indeholder en henvisning til en hukommelsesplacering (dvs. en markørvariabel gemmer en adresse på en hukommelsesplacering, hvor nogle data er gemt). Arrays er den mest anvendte datastruktur til at gemme en samling af elementer. De fleste programmeringssprog giver metoder til let at erklære arrays og få adgang til elementer i arrays.
Hvad er en pointer?
En markør er en datatype, der gemmer en adresse på en hukommelsesplacering, hvor nogle data er gemt. Med andre ord holder en markør en henvisning til en hukommelsesplacering. Adgang til de data, der er gemt på hukommelsesplaceringen, som der henvises til af markøren, kaldes dereferencing. Når du udfører gentagne handlinger som at krydse træer / strenge, opslag på borde osv., Vil det ved hjælp af markører forbedre præstationen. Dette skyldes, at derferference og kopiering af markører er billigere end faktisk at kopiere og få adgang til de data, som markørerne peger på. En nul pointer er en pointer, der ikke peger på noget. I Java ville adgang til en nul pointer generere en undtagelse kaldet en NullPointerException.
Hvad er en matrix?
Vist i figur 1 er et stykke kode, der typisk bruges til at deklarere og tildele værdier til en matrix. Figur 2 viser, hvordan en matrix vil se ud i hukommelsen.
værdier [0] = 100; værdier [1] = 101; værdier [2] = 102; værdier [3] = 103; værdier [4] = 104; |
Figur 1: Kode til erklæring og tildeling af værdier til en matrix
100 | 101 | 102 | 103 | 104 |
Indeks: 0 | 1 | 2 | 3 | 4 |
Figur 2: Array gemt i hukommelsen
Ovenstående kode definerer en matrix, der kan lagre 5 heltal, og de åbnes ved hjælp af indeks 0 til 4. En vigtig egenskab ved en matrix er, at hele arrayet allokeres som en enkelt hukommelsesblok, og hvert element får sit eget rum i arrayet. Når en matrix er defineret, er dens størrelse rettet. Så hvis du ikke er sikker på størrelsen af arrayet på kompileringstidspunktet, bliver du nødt til at definere en stor nok array til at være i den sikre side. Men for det meste vil vi faktisk bruge færre antal elementer, end vi har tildelt. Så en betydelig mængde hukommelse spildes faktisk. På den anden side, hvis "stort nok array" faktisk ikke er stort nok, ville programmet gå ned.
Hvad er forskellen mellem peger og arrays?
En markør er en datatype, der gemmer en adresse på et hukommelsessted, hvor nogle data er gemt, mens Arrays er den mest anvendte datastruktur til at gemme en samling af elementer. I C-programmeringssprog udføres matrixindeksering ved hjælp af pointer-aritmetik (dvs. at ith-elementet i arrayet x svarer til * (x + i)). Derfor kan C-sæt af markører, der peger på et sæt hukommelsesplaceringer, der er fortløbende, betragtes som en matrix. Derudover er der en forskel i, hvordan størrelsen på operatøren fungerer på pekere og arrays. Når den anvendes til en matrix, returnerer størrelse af operatøren hele størrelsen af matrixen, mens når den anvendes på en markør, ville den kun returnere markørens størrelse.
Anbefalet:
Forskellen Mellem Symmetriske Og Asymmetriske Topmolekyler
Nøgleforskellen mellem symmetriske og asymmetriske topmolekyler er, at symmetriske topmolekyler har en korrekt rotationsakse og to inertimomenter
Forskellen Mellem Transgene Mus Og Knockout-mus
Hovedforskellen mellem transgene mus og knockout-mus er, at transgene mus har fremmede gener indsat i dets genom, mens knockout-mus har en funk
Forskellen Mellem Cisgenese Og Intagenese
Hovedforskellen mellem cisgenese og intragenese er, at i cisgenese introduceres gener uden at ændre DNA-sekvensen, og ge
Forskellen Mellem Nøgleforskellen Mellem Metalliske Og Ikke-metalliske Mineraler
Nøgleforskel - Metallisk vs. ikke-metalliske mineraler Et mineral er en naturligt forekommende fast og uorganisk bestanddel med en bestemt kemisk formel og
Forskellen Mellem Gammel Engelsk Og Mellem Engelsk Og Moderne Engelsk
Old English vs Middle English vs Modern English Old English, Middle English og Modern English er klassificeringen af engelsk, og de