Kuinka toteuttaa osoittimia C ++: ssa?



Tämä artikkeli tutustuttaa sinut osoittimien käsitteeseen C ++: ssa ja seuraa sitten sitä tukevalla käytännön esittelyllä.

Osoittimet C ++: ssa on muuttuja, joka pitää toisen muuttujan osoitteen c ++: ssa. Osoite tallennetaan osoitinmuuttujaan ja se auttaa kutsukohtaisen viittauksen toteuttamisessa.

Seuraavat vihjeet käsitellään tässä artikkelissa,





Aloitetaan tästä artikkelista C ++: n osoittimista

Syntaksi:



datatyyppi * pointname ESIMERKKI: int * ptr
  • Osoitinmuuttujalla on * -merkki ennen nimeään.
  • Osoitinta kutsutaan myös paikantimeksi tai ilmaisimeksi.

Osoittimen käyttö:

c ++ -operaattori
  • Dynaaminen muistin allokointi
  • Erilaisissa taulukoiden, rakenteiden ja toimintojen ohjelmissa

Tässä on esimerkkikoodi:

#include käyttämällä nimitilaa 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' } 

Tuotos:
Tulososoittimet C ++ - Edureka



Selitys:

Yllä olevassa ohjelmassa näytämme osoittimen perustoiminnan. Meillä on kokonaislukumuuttuja numero arvolla 17. Meillä on osoitinmuuttuja ptr tyyppi int. Määritämme osoitteen numerolle osoitteen ptr.

Tulostamme ensin ptr: n arvon, se on osoite. Seuraavaksi tulostamme num-arvon ja lopussa tulostamme arvon osoittimen ptr: n pitämään paikkaan.

Jatketaan tämän artikkelin kanssa osoittimia C ++: sta

Osoittimet ja taulukot:

Voimme pitää taulukon ensimmäistä elementtiä osoittimena, koska taulukon nimi sisältää ensimmäisen elementin osoitteen. Voimme käyttää osoitinta seuraavalla tavalla.

Tässä on esimerkkikoodi:

#include käyttämällä nimitilaa 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] } 
 Tuotos: 

Selitys:

Yllä olevassa ohjelmassa näytetään osoittimen perustoiminta taulukon kanssa. Meillä on matriisiryhmä, jonka arvot ovat 5,10,20. Meillä on osoitintyyppinen muuttuja ptr, tyyppi int. Määritämme arr-osoitteen osoitin ptr: lle.

Tulostamme ensin ptr [0]: n arvon, joka on matriisin ensimmäinen elementti. Seuraavaksi tulostamme toisen ja kolmannen elementin. Koska taulukkoelementit tallennetaan peräkkäin, niin osoitin pääsee matriisin toiseen sijaintiin lisäämällä.

Jatketaan tämän artikkelin kanssa osoittimia C ++: sta

kuinka asentaa hadoop Ubuntuun

Null-osoittimet:

On olemassa sellaisia ​​osoittimia, joilla ei ole arvoa ja joilla on nolla-arvo

Esimerkki :

int * ptr = NULL

Ne ovat erittäin hyödyllisiä tietorakenteissa, kuten linkitetyssä luettelossa.

Jatketaan tämän artikkelin kanssa osoittimia C ++: sta

Tyhjät osoittimet:

Nämä ovat osoittimia, joilla ei ole palautustyyppiä.

Jatketaan tämän artikkelin kanssa osoittimia C ++: sta

Osoittimen aritmeettinen toiminta:

Osoittimille voidaan suorittaa erilaisia ​​toimintoja. Tässä on joitain tärkeitä tyyppejä.

  • lisääntynyt (++)
  • vähentynyt (-)
  • kahden osoittimen välinen ero (p1-p2)
  • kokonaisluvun lisääminen osoittimeen (+ tai + =)
  • kokonaisluvun vähentäminen osoittimesta (- tai - =)

Tässä on koodi esittelemään joitain näistä toiminnoista:

#include käyttämällä nimitilaa 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++ } } 

Tuotos:

Selitys:

Osoitamme osoittimen muuttujan yksinkertaisen aritmeettisen toiminnan, joka on esitetty yllä olevassa ohjelmassa.

Jatketaan tämän artikkelin kanssa osoittimia C ++: sta

Osoitin osoittimeen:

Tämän tyyppisessä järjestelmässä on kaksi osoitinta. Ensimmäinen osoitin osoittaa toisen osoittimen ja toinen osoitin muuttujaa, jolla arvo on.

Tässä on esimerkkikoodi:

.trim () java
#include käyttämällä nimitilaa 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 } 

Tuotos:

Jatketaan tämän artikkelin kanssa osoittimia C ++: sta

Toimintojen osoitin:

Tämä on tapa siirtää osoittimia toimintoihin. Funktion parametri on ilmoitettava osoitintyypiksi. Se näkyy alla olevassa koodissa,

#include käyttämällä nimitilaa vakio float getAverage (int * arr, int-koko) 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 } 


Tuotos

Näin välitämme osoittimen funktiolle.

Siksi olemme päässeet tämän artikkelin 'Osoittimet C ++: ssa' loppuun. Jos haluat oppia lisää, tutustu Edureka, luotettava verkko-oppimisyritys. on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-käsitteitä sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.