Hvordan implementere pekere i C ++?



Denne artikkelen vil introdusere deg for begrepet pekere i C ++ og deretter følge det opp med en praktisk praktisk demonstrasjon.

Pekere i C ++ er en variabel som inneholder adressen til en annen variabel i c ++. Adressen er lagret i pekervariabelen og hjelper til med implementeringen av ring-for-referanse.

Følgende tips vil bli dekket i denne artikkelen,





Starter med denne artikkelen om Pointers on C ++

hash-kart vs hash-bord

Syntaks:



datatype * pointernavn EKSEMPEL: int * ptr
  • En pekervariabel har et * tegn foran navnet.
  • En peker kalles også en lokalisator eller indikator.

Bruk av pekeren:

  • Dynamisk minnetildeling
  • I forskjellige programmer av arrays, struktur og funksjoner

Her er et eksempel på kode:

#include ved å bruke navneområdet std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Produksjon:
Output- Pekere i C ++ - Edureka



Forklaring:

I det ovennevnte programmet viser vi grunnleggende bruk av en peker. Vi har en heltallvariabel num med verdi 17. Vi har pekervariabelen ptr av typen int. Vi tilordner adressen til num til pekeren ptr.

Vi skriver først ut verdien av ptr, det er adressen. Deretter skriver vi ut tallverdien, og til slutt skriver vi ut verdien på stedet som pekeren ptr holder.

Fortsetter med denne artikkelen om Pointers on C ++

Pekere og matriser:

Vi kan betrakte det første elementet i en matrise som en peker, da matrisenavnet inneholder adressen til det første elementet. Vi kan bruke en peker på følgende måte.

Her er et eksempel på kode:

# inkludere bruk av navneområdet std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Produksjon: 

Forklaring:

java applet programmerer eksempler med utdata

I programmet ovenfor viser vi grunnleggende arbeid av en peker med en matrise. Vi har en array arr med verdier 5,10,20. Vi har pekervariabel ptr av typen int. Vi tilordner adressen til arr til pekeren ptr.

Vi skriver først ut verdien av ptr [0], det er det første elementet i matrisen. Deretter skriver vi ut henholdsvis det andre og tredje elementet. Ettersom matriseelementer lagres fortløpende, slik at pekeren kan få tilgang til den andre plasseringen av matrisen ved inkrementering.

Fortsetter med denne artikkelen om Pointers on C ++

Null Pointers:

Det er typen pekere som ikke har noen verdi og som har en nullverdi

Eksempel :

int * ptr = NULL

De er veldig nyttige i datastrukturer som en koblet liste.

Fortsetter med denne artikkelen om Pointers on C ++

Ugyldige pekere:

Dette er typen pekere som ikke har returtype.

Fortsetter med denne artikkelen om Pointers on C ++

Pointer Arithmetic Operation:

Ulike operasjoner kan utføres på pekere. Her er noen viktige typer.

  • inkrementert (++)
  • dekrementert (-)
  • forskjell mellom to pekere (p1-p2)
  • tillegg av et helt tall til en peker (+ eller + =)
  • subtraksjon av et helt tall fra en peker (- eller - =)

Her er en kode for å demonstrere noen av disse operasjonene:

# inkludere bruk av navneområdet std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Produksjon:

Forklaring:

Vi viser enkel aritmetisk operasjon av inkrementering av pekervariabelen er vist i programmet ovenfor.

rekke objekter i java

Fortsetter med denne artikkelen om Pointers on C ++

Peker til peker:

I denne typen system er det to pekere. Den første pekeren peker mot den andre pekeren og den andre pekeren peker på variabelen som holder verdien.

Her er en eksempelkode:

# inkludere bruk av navneområde std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Produksjon:

Fortsetter med denne artikkelen om Pointers on C ++

Peker til funksjoner:

Dette er en måte å overføre pekere til funksjoner på. Funksjonsparameteren må deklareres som en pekertype. Det vises i koden nedenfor,

# inkludere bruk av navneområde std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Produksjon

Slik overfører vi en peker til en funksjon.

Dermed har vi kommet til en slutt på denne artikkelen om ‘Pointers in C ++’. Hvis du ønsker å lære mer, sjekk ut av Edureka, et pålitelig online læringsfirma. er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.