En datamaskin bruker minnet for å lagre data med verdier , for eksempel tall , tegn og bit verdier . Data lagres i minnet celler identifisert med et unikt minne adresse . Pekere er datastrukturer som ikke inneholder verdier , i stedet pekere inneholder et minne adressen til et minne celle som lagrer en verdi. Pekere er nyttige fordi de tillater deg å konstruere datastrukturer uten en definert størrelse (for eksempel tabeller og koblede lister ) , fordele og deallocate dynamisk minne og utføre indirekte data manipulasjon . C Strings
Programmeringsspråk arbeide med begrensede ressurser . Et program må vite hvor mye minne den trenger før henrettelsen . Dette skaper problemet med å håndtere en datatype som har ingen definert størrelse (for eksempel et program som "leser" avsnitt, med hvert avsnitt ha en annen lengde). Pekere møte denne situasjonen i form av C- strenger . AC strengen er komponert av en peker som peker til det første tegnet på strengen , og et tegn som signaliserer slutten av strengen (som den nye linjen karakter, "\\ n" ) . Pekeren blir økt med 1 hver gang , slik at den peker til det siste tegnet ( "\\ n" ) .
Lenket Lister
En lenket liste er en liste som øker sin størrelse som nye elementer blir lagt til listen . I motsetning arrays og C strenger som lagrer data sekvensielt i minnet , er koblede listene ikke nødvendigvis lagret i tilstøtende minneadresser . Koblede lister er dannet av noder, og hver node punkter til den neste noden. Fordelen med denne datastruktur er at listen endrer størrelse basert på brukernes behov .
Dynamisk minne allokering
programmer normalt fordele minnet når de er bygget . Noen ganger tildelte minnet er ikke nok til å håndtere data med ukjent størrelse. Programmerere bruke en teknikk som kalles dynamisk minne allokering for å være sikker på at programmet kan løse dette problemet . Dynamisk minne er tilgjengelig ved hjelp av en peker til å peke på et minne adresse utenfor minnet satt til side i første omgang av programmet. Pekere også deallocate minnet når den ikke lenger er nødvendig .
Indirekte datamanipulasjon
Programmeringsspråk ofte krever endring av data verdi. Programmer bruker funksjoner for å endre og utføre operasjoner på data . På grunn av hierarkiet på programmer , data konstant kopieres og er blitt frigitt etter at det er gått over til funksjoner. Funksjoner endre dataene , men når dataene blir brukt , er disse endringene tapt. Ved hjelp av pekere i stedet for grunnleggende datatyper sikrer at vi passerer et minne adresse til funksjoner . På denne måten eventuelle endringer i dataene som er lagret på minnet adressen vil forbli for resten av gjennomføringen av programmet .