Bruk av Pekere

Bruk av Pekere


En datamaskin bruker minnet for å lagre data med verdier, for eksempel tall, tegn og bit-verdier. Data lagres i minneceller som er identifisert med en unik lageradresse. Pekere er datastrukturer som ikke inneholder verdier; i stedet, pekere inneholder en lageradresse for en minnecelle som lagrer en verdi. Pekere er nyttige fordi de tillater deg å konstruere datastrukturer uten en definert størrelse (som arrays og koblede lister), fordele og deallocate dynamisk minne og utføre indirekte datamanipulasjon.

C Strings

Programmeringsspråk fungere ved hjelp begrensede ressurser. Et program må vite hvor mye minne den trenger før henrettelsen. Dette skaper problemer med å håndtere en datatype som ikke har noen definert størrelse (for eksempel et program som "leser" avsnitt, hvor hvert avsnitt har en forskjellig lengde). Pekere møte denne situasjonen i form av C-strenger. AC strengen er sammensatt av en peker som peker til det første tegnet på strengen, og en karakter som signaliserer slutten av strengen (for eksempel linjeskifttegn, "\ n"). Pekeren blir økt med 1 hver gang, til den peker mot det siste tegnet ( "\ n").

koblede Lister

En lenket liste er en liste som øker sin størrelse som nye elementer blir lagt til listen. I motsetning til matriser og C-strenger som lagrer data sekvensielt i minnet, er knyttet listene ikke nødvendigvis lagres i tilstøtende minneadresser. Lenkede lister er dannet av noder, og hver node peker til neste node. Fordelen med denne datastruktur er at listen endrer sin størrelse basert på brukernes behov.

Dynamic Memory Allocation

Programmer normalt allokere minnet når de er bygget. Noen ganger tildelte minnet er ikke nok til å håndtere data med ukjent størrelse. Programmerere bruker en teknikk som kalles dynamisk minne allokering å være sikker på at programmet kan løse dette problemet. Dynamisk minne nås ved hjelp av en peker til å peke til en minneadresse utenfor minne avsatt i utgangspunktet av programmet. Pekere også deallocate minnet når det ikke lenger er nødvendig.

Indirekte data Manipulasjon

Programmeringsspråk ofte krever endring av dataverdi. Programmer bruker funksjoner for å endre og utføre operasjoner på data. På grunn av hierarkiet på programmer, data er kontinuerlig kopieres og deallokert når den føres til funksjoner. Funksjoner endre dataene, men når informasjonen blir brukt, er disse endringene tapt. Ved hjelp av pekere i stedet for grunnleggende datatyper gjør at vi passerer en minneadresse til funksjoner. På denne måten eventuelle endringer i dataene som er lagret på minne postadresse vil forbli for resten av gjennomføringen av programmet.