Sellest artiklist leiate asjakohaseid näiteid, mis aitavad teil struktuuris olevatele andmetele juurde pääseda kursoritega.
Pointer muutuja saab luua mitte ainult native tüübile meeldib ( int
, float
, double
jne), kuid need võivad olla ka loodud kasutaja määratud tüüpi struktuuri.
Kui te ei tea, mis on osutid, külastage C ++ osutit.
Struktuuride kursori loomiseks toimige järgmiselt.
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
See programm loob tüübi struktuuri temp pointeri ptr.
Näide: näpunäited struktuurile
#include using namespace std; struct Distance ( int feet; float inch; ); int main() ( Distance *ptr, d; ptr = &d; cout <> (*ptr).feet; cout <> (*ptr).inch; cout << "Displaying information." << endl; cout << "Distance = " << (*ptr).feet << " feet " << (*ptr).inch << " inches"; return 0; )
Väljund
Sisestage jalad: 4 Sisestage toll: 3.5 Informatsiooni kuvamine. Kaugus = 4 jalga 3,5 tolli
Selles programmis on määratletud kursori muutuja ptr ja tavaline muutuja d tüübistruktuuriga Kaugus.
Muutuja d aadress salvestatakse kursori muutujale, see tähendab, et ptr osutab muutujale d. Seejärel pääseb kursori abil juurde muutuja d liikmefunktsioonile.
Märkus. Kuna osuti ptr osutab selles programmis muutujale d (*ptr).inch
ja d.inch
on täpselt sama lahter. Samamoodi (*ptr).feet
ja d.feet
on täpselt sama lahter.
Kursori abil liikmefunktsiooni juurde pääsemise süntaks on kole ja on olemas alternatiivne märge -> mis on levinum.
ptr-> jalad on samad kui (* ptr). jalad ptr-> tolli on samad kui (* ptr). tolli