Pekere til pekere

Pekere til pekere

På C ++ programmeringsspråk ser det ut til at en peker er en variabel som kan lagre eller holde adressen til en annen variabel og brukes til å henvise til enhver annen ekstra peker. De to forskjellige bruksområdene til pekere er for å spare minne og akselerere prosessorens hastighet.

Typer pekere i C++

Flere typer pekere i programmeringsspråket C ++ deles og forklares nedenfor:

NULL -peker

En nullpeker kan opprettes eller utføres hvis vi gir en "null" -verdi mens vi erklærer pekeren. Denne metoden er funnet å være nyttig hvis pekeren i det hele tatt har blitt tildelt noen verdier. Inne i en nullpeker er 0 alltid til stede som en pekerverdi. La oss se på en illustrasjon av å bruke NULL -pekeren i kode.

#inkludere
ved hjelp av navneområdet STD;
int main ()

int *i = null;
cout << "The value of variable i: " << i;
retur 0;

Ved begynnelsen av koden ville overskriftsfilen bli integrert. Standard navneområdet “STD” vil da bli brukt. Deretter vil hovedmetoden () bli utført. Her vil pekeren til variabelen “jeg” bli erklært. Verdien av denne pekeren vil bli tildelt som "null". Deretter vil "cout" -kommandoen bli brukt til å vise utfallet. For å avslutte programmet, vil vi bruke en Return 0 -erklæring.

Void peker

Det er ingen standard datatype for tomrommet pekeren. Denne typen peker opprettes vanligvis ved hjelp av begrepet "tomrom". En av hovedbrukene på denne pekeren er å lagre eller beholde adressen til en annen variabel.

#inkludere
ved hjelp av navneområdet STD;
int main ()

tomrom *z = null;
cout << "The size of z: " << sizeof(z);
retur 0;

Overskriftsfilen ville bli integrert i starten av programmet. Videre vil vi bruke standard navneområdet som "STD". Main () -metoden kalles. Den variable “z” -pekeren vil bli erklært i neste trinn. Vi vil bli tildelt verdien “null” for denne pekeren. Kommandoen "cout" vil vise størrelsen på den nødvendige pekeren. Størrelsen () -funksjonen vil bli brukt for å bestemme pekerens størrelse. Ved hjelp av retur 0 -setningen kan vi avslutte programmet.

Peker til peker

Vi diskuterte allerede at i C ++ brukes en peker for å holde en variabel adresse. En peker fremskynder en variabel tilgang. For å holde adressen til en annen peker, kan en peker også defineres i C++. I en peker til pekerfunksjonen lagres variabeladressen i den første pekeren. På den annen side lagres den første pekeradressen vanligvis i den andre eller en annen peker.

Syntaks

Eksempel 1

Nå vil vi se bruken av en peker til pekeren i C++.

#inkludere
ved hjelp av navneområdet STD;
int main ()

int x = 16;
int *m;
int ** mm;
m = & x;
mm = & m;
cout << "The address of the variable x: " << m <cout << "The address of the variable m: " << mm <cout << "The value stored in the variable m: " << *m <cout << "The value stored in the variable mm: " << **mm <

Programmet vil bli startet ved å integrere overskriftsfilen . Dette biblioteket vil bli brukt for å utføre forskjellige inngangs- og utgangsfunksjoner. Først vil vi initialisere variabelen “x” og tilordne den verdien. Pekeren som lagrer adressen til variabelen “x” vil bli erklært i neste trinn. Vi ville da opprette en annen peker. Her skulle vi indikere den første pekeren til adressen til “x”. Verdien av den første pekeren, “M”, ville være der dobbeltpekeren ville peke. Vi vil kalle "cout" -uttalelsen fire ganger. De to første “cout” -kommandoene skriver ut adressen til den spesifiserte variabelen og pekeren.

Eksempel nr. 2

La oss se på en illustrasjon av en peker som refererer til en annen peker etter adresse.

#inkludere
ved hjelp av navneområdet STD;
int main ()

int v [12] = 102, 212, 870, 169, 581, 721;
int *d [] = v, v+1, v+2, v+3, v+4, v+5;
int ** dd = d;
DD ++;
cout << dd-d,*dd - v,**dd;
*DD ++;
cout << dd-d,*dd - v,**dd;
++*dd;
cout << dd-d,*dd - v,**dd;
++** DD;
cout << dd-d,*dd - v,**dd;

Biblioteket vil bli innlemmet ved begynnelsen av koden. Denne modulen inneholder inngangs- og utgangsmetodene. Nå vil vi starte kodingen inne i kroppen til hovedfunksjonen (). Her opprettet vi først matrisen. Denne matrisen inneholder seks verdier. Disse verdiene lagres i variabelen “V”.

Deretter erklærer vi matrisen for pekeren som heter “D”. I neste trinn vil vi erklære en dobbeltpeker. Da kan vi øke verdien av pekeren. Den doble pekeren brukes med pekeraritmetikk. Det er konstruert som en 6-element-matrise med en rekke pekere (d) er definert. Pekerne som refererer til hvert medlem av matrisen utgjør elementene i “D”. Fordi basisadressen til matrisen er inneholdt i matriseens navn, vil den fungere som en peker, og dens verdi kan nås ved å bruke *(V), *(V+1), *(V+2), *(V +3), *(v+4), *(v+5). Til slutt vil vi bruke “cout” -kommandoen for å vise utgangene.

Fordeler ved å bruke pekerne til pekere i C++

  • Å få tilgang til minneplasser blir lettere med pekere.
  • Komponenter for en matrisestruktur kan nås effektivt via pekere.
  • Både deallocation og dynamisk minnetallokering krever pekere.
  • Komplekse datastrukturer, som koblede lister, grafer, trær osv., opprettes ved hjelp av pekere.

Ulemper med å bruke pekerne til pekere i C++

  • Det kan være utfordrende å forstå pekere.
  • Pekere kan forårsake flere problemer, inkludert segmenteringsfeil og uautorisert minnetilgang.
  • Minnekorrupsjon kan være et resultat av å gi en peker en unøyaktig verdi.
  • Minnelekkasjer kan også skje gjennom pekere.
  • Pekere vil initialisere saktere enn variabler.
  • Fordi manipulering av pekere kan være ekstremt utfordrende for programmerere, er de pålagt å gjøre det med omhu.

Konklusjon

I denne artikkelen diskuterte vi pekerne som ble brukt på programmeringsspråket C ++, dets fordeler, ulemper, syntaks og applikasjoner. Videre diskuterte vi pekeren til pekeren på C ++ språket. I tillegg utførte vi forskjellige programmer for å demonstrere hvordan og når vi skal bruke pekere til pekere i C++. Vi ser også hvordan du bruker tomrommet og nullpekeren i C ++ ved å implementere kodene.