C ++ pekere og referanse

C ++ pekere og referanse
I C ++ er både pekeren og referansen to kraftige konsepter. Ved hjelp av peker og referansevariabel kan vi enkelt få tilgang til våre normale variabler. Nå diskuterer vi i detaljer om begrepet peker og referanse.

Peker

Pointer er en spesiell type variabel. Den lagrer adressen til en annen variabel. Det betyr når noen variabel butikk i minnet, den får en spesifikk adresse. Pointer lagrer denne adressen til den aktuelle variabelen.

Programmering Eksempel 1

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

int x = 15;
int *p; // erklære en peker
p = & x;
cout<< &x << endl ; // address of x ;
cout<< p << endl ; // pointing the address of x ;
cout<< *p << endl ; // Dereferencing of a pointer;
retur 0;

Produksjon

Forklaring
Her erklærer vi en heltallvariabel x og inne i X tildeler vi 15. Nå erklærte vi en heltallstypepekervariabel *P.

p = & x;

Her inne i pekervariabelen P, tildeler vi adressen til x. Adressen til X avhenger helt av operativsystemet vårt.

Hvis vi skriver ut & x, viser det utgangen fra adressen til variabel x.

Hvis vi skriver ut P -variabel, får den også utgangen fra adressen til variabel x.

Men hvis vi skriver ut *p, er det faktisk avleder til pekeren vår. Det betyr at det får produksjonen fra verdien av x variabel.

Programmering Eksempel 2

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

flyte x = 15;
float *p; // erklære en peker
p = & x;
cout<< &x << endl ; // address of x ;
cout<< p << endl ; // pointing the address of x ;
cout<< *p << endl ; // Dereferencing of a pointer;
retur 0;

Produksjon

Forklaring
Hvis vi tar float -typen variabel x og tilordner noen verdi 1.5, så erklærer vi en peker for å holde adressen til x, vi må ta flytype peker.

Enhver peker holder adressen til variabel; Begge har samme datatype. Ellers oppstår feil.

Peker aritmetikk

I C ++ ved hjelp av pekeren har vi utført noen aritmetiske operasjoner som økning, reduksjon, tillegg og subtraksjon.

Programmeringseksempel 3

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

int x = 15;
int *p = & x;
cout<< p << endl ; // address of x ;
P ++; // økning av poiner
cout<< p << endl ;
retur 0;

Produksjon

Peker og matrise

Array tar alltid minne på en sammenhengende måte. Vi kan implementere en matrise ved hjelp av pekeren. For når pekeren øker, peker den alltid på neste blokkering fra baseadressen til matrisen. Både pekeren og matrisen har samme datatype.

Programmering Eksempel 4

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

int jeg;
int arr [] = 5, 10, 15; // erklære en matrise;
int *p = arr; // initialisere verdien av matrisen til en peker;
cout<< *arr << endl ;
for (i = 0; i < 3 ; i++)

cout<< *p << endl ;

retur 0;

Produksjon

Forklaring
Vi har tilgang til en matrise til en peker. I dette eksemplet erklærer vi ganske enkelt en matrise og initialiserte noen verdier. Grunnadressen til matrisen til en peker P. Nå kan vi skrive ut verdien til hvert element i matrisen gjennom en peker. Hvis vi øker verdien av PTR, går det ganske enkelt til neste blokkering fra baseadressen til matrisen.

Henvisning

Bortsett fra normal variabel og peker, gir C ++ oss en spesiell type variabel kalt referansevariabel. Nå lærer vi om referansevariabelen.

Funksjoner i referansevariabelen

  1. Før vi erklærer en referansevariabel, skriver vi ganske enkelt '&' Symbol. Mange av oss har misoppfatning om at '&' blir behandlet som adresse til operatøren. Men faktisk blir det ikke behandlet slik når det gjelder referansevariabel.
  2. Når vi erklærer referansevariabelen på det tidspunktet, må initialiseringen gjøres. Ellers oppstår feil.
  3. Referansevariabel kan ikke oppdateres.

Eksempel på en referansevariabel

int x = 5;

Hvis vi ønsker å oppbevare et alternativt navn på variabel x, må vi følge denne prosedyren.

int & y = a;

Det betyr at referansevariabel bare opprettes for å henvise til den eksisterende variabelen i programmet. Ved hjelp av referansevariabel får vi tilgang til variabelen x.

Programmering Eksempel 5

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

int x = 15;
int & y = x;
cout<< x << “ “ << y << endl ;
++y;
cout<< x << “ “ << y << endl ;
retur 0;

Produksjon

Forklaring
Her introduserer vi en referansevariabel y som refererer til variabelen x av linjen & y = x. I x er 5 tildelt. Hvis vi vil skrive ut variabelen X og Y, viser begge samme resultat 5.

Hvis vi øker 1 til verdien av y, og skriver ut både variabelen x og y, viser det samme resultat 6.

Konklusjon

Diskuterer i detalj om begrepet både peker og referanse, har vi kommet til denne konklusjonen at adresse er det kraftigste konseptet i C++. Ved hjelp av peker og referanse kan vi overvåke variablene, matrisen, funksjonen, strukturen osv. Enkelt.