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,
- Osoittimet
- Osoittimet ja taulukot
- Null-osoittimet
- Tyhjät osoittimet
- Osoittimen aritmeettinen operaatio
- Osoitin osoittimeen
- Toimintojen osoitin
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:
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.