Hoe pointers in C ++ te implementeren?



Dit artikel laat je kennismaken met het concept van pointers in C ++ en vervolgt het met een ondersteunende praktische demonstratie.

Aanwijzers in C ++ is een variabele die het adres bevat van een andere variabele in c ++. Het adres wordt opgeslagen in de pointer-variabele en helpt bij de implementatie van call-by-reference.

De volgende tips komen in dit artikel aan bod:





Om te beginnen met dit artikel over Pointers op C ++

Syntaxis:



datatype * pointername VOORBEELD: int * ptr
  • Een pointervariabele heeft een * -teken voor de naam.
  • Een aanwijzer wordt ook wel een locator of indicator genoemd.

Gebruik van aanwijzer:

  • Dynamische geheugentoewijzing
  • In verschillende programma's van arrays, structuur en functies

Hier is een voorbeeldcode:

#include met behulp van naamruimte 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' } 

Uitgang:
Uitvoer- Pointers in C ++ - Edureka



Uitleg:

hoe java-programma te beëindigen

In het bovenstaande programma laten we de basiswerking van een aanwijzer zien. We hebben een integer variabele num met waarde 17. We hebben pointer variabele ptr van het type int. We kennen het adres van num toe aan de pointer ptr.

We printen eerst de waarde van ptr, dat is het adres. Vervolgens drukken we de num-waarde af en aan het einde drukken we de waarde af op de locatie die wordt vastgehouden door de aanwijzer ptr.

Verder gaan met dit artikel over Pointers op C ++

Pointers en arrays:

We kunnen het eerste element van een array beschouwen als een pointer, aangezien de arraynaam het adres van het eerste element bevat. We kunnen een aanwijzer op de volgende manier gebruiken.

Hier is een voorbeeldcode:

#include using namespace 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] } 
 Uitgang: 

Uitleg:

In het bovenstaande programma laten we de basiswerking van een aanwijzer met een array zien. We hebben een array arr met waarden 5,10,20. We hebben pointervariabele ptr van het type int. We wijzen het adres van arr toe aan de pointer ptr.

We printen eerst de waarde van ptr [0], dat is het eerste element van de array. Vervolgens drukken we respectievelijk het tweede en derde element af. Omdat array-elementen opeenvolgend worden opgeslagen, kan de aanwijzer via incrementering toegang krijgen tot de andere locatie van de array.

Verder gaan met dit artikel over Pointers op C ++

Null-wijzers:

Er zijn soorten pointers die geen waarde hebben en een null-waarde hebben

Voorbeeld :

int * ptr = NULL

Ze zijn erg handig in datastructuren zoals een gekoppelde lijst.

Verder gaan met dit artikel over Pointers op C ++

Ongeldige aanwijzingen:

Dit zijn het soort verwijzingen die geen retourtype hebben.

Verder gaan met dit artikel over Pointers op C ++

Aanwijzer rekenkundige bewerking:

Op pointers kunnen verschillende bewerkingen worden uitgevoerd. Hier zijn enkele belangrijke typen.

  • verhoogd (++)
  • verlaagd (-)
  • verschil tussen twee wijzers (p1-p2)
  • toevoeging van een geheel getal aan een pointer (+ of + =)
  • aftrekken van een geheel getal van een pointer (- of - =)

Hier is een code om enkele van deze bewerkingen te demonstreren:

#include using namespace 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++ } } 

Uitgang:

Uitleg:

We demonstreren een eenvoudige rekenkundige bewerking van de toename van de pointervariabele die wordt weergegeven in het bovenstaande programma.

Verder gaan met dit artikel over Pointers op C ++

Wijzer naar aanwijzer:

In dit type systeem zijn er twee aanwijzingen. De eerste aanwijzer wijst naar de tweede aanwijzer en de tweede aanwijzer wijst naar de variabele die de waarde vasthoudt.

Hier is een voorbeeldcode:

#include met gebruik van naamruimte 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 } 

Uitgang:

Verder gaan met dit artikel over Pointers op C ++

Wijzer naar functies:

Dit is een manier om verwijzingen naar functies door te geven. De functieparameter moet worden gedeclareerd als een pointertype. Het wordt getoond in de onderstaande code,

#include using namespace 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 } 


Uitvoer

scope resolutie operator c ++

Dit is hoe we een pointer doorgeven aan een functie.

Hiermee zijn we aan het einde gekomen van dit artikel over ‘Pointers in C ++’. Als je meer wilt weten, bekijk dan de door Edureka, een vertrouwd online leerbedrijf. is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.