En computer bruger sin hukommelse til at gemme data med værdier , såsom tal, tegn og bit værdier. Data gemmes i hukommelsen celler identificeret med en unik hukommelse adresse. Henvisninger er datastrukturer , der ikke indeholder værdier , i stedet pointers indeholder en hukommelse adressen på en hukommelse celle , der lagrer en værdi . Pointers er nyttige, fordi de giver dig mulighed for at konstruere datastrukturer uden en defineret størrelse ( såsom arrays og hægtede lister ) , tildele og deallocate dynamisk hukommelse og udføre indirekte data manipulation. C Strygere
Programmeringssprog arbejde ved hjælp af begrænsede ressourcer. Et program skal vide , hvor meget hukommelse der bliver brug inden henrettelsen . Dette skaber det problem at styre en datatype, der ikke har nogen defineret størrelse (for eksempel et program, der » læser « stykker , hvor hver stykke har en forskellig længde ) . Pointers løse denne situation i form af C- strenge. AC streng består af en pegepind , der peger på det første tegn på strengen , og en karakter, der signalerer afslutningen af strengen (såsom ny linje , "\\ n" ) . Markøren får øget med 1 hver gang, indtil den peger på det sidste tegn ( "\\ n ").
Linked Lists
linket liste er en liste, øger sin størrelse som nye elementer bliver føjet til listen . I modsætning til arrays og C strygere , der gemmer data sekventielt i hukommelsen , der linkede lister ikke nødvendigvis er lagret i tilstødende hukommelse adresser . Hægtede lister er dannet af knudepunkter , og hver knudepunkter til den næste node . Fordelen ved denne datastruktur er, at listen ændrer dens størrelse er baseret på brugernes behov.
Dynamic Memory Fordeling
Programs normalt allokere hukommelsen, når de er bygget. Undertiden allokerede hukommelse er ikke nok til at håndtere data med ukendt størrelse . Programmører bruge en teknik kaldet dynamisk allokering af hukommelse for at være sikker på, at programmet kan løse dette problem. Dynamisk hukommelse tilgås ved hjælp af en pegepind til at pege på et memory -adresse uden for hukommelsen afsat først ved programmet. Pointers også deallocate hukommelsen , når det ikke længere er nødvendigt.
Indirekte Data Manipulation
Programmeringssprog kræver ofte modifikation af data værdi. Programmer bruger funktioner til at ændre og udføre operationer på data. På grund af hierarkiet på programmer , der er data konstant kopieret og deallokeret når det er gået til funktioner. Funktioner ændre dataene , men når data bliver brugt , er disse ændringer tabt . Brug pointers i stedet for basale datatyper sikrer, at vi passerer en hukommelse adresse til funktioner. Denne måde eventuelle ændringer i de data, der lagres i hukommelsen adresse vil forblive for resten af programmets gennemførelse .