In dit artikel vindt u relevante voorbeelden die u zullen helpen bij het werken met aanwijzingen om toegang te krijgen tot gegevens binnen een structuur.
Een pointer variabele kan worden gemaakt niet alleen natieve types zoals ( int
, float
, double
enz.), Maar ze kunnen ook worden gemaakt voor de gebruiker gedefinieerde types structuur.
Als u niet weet wat pointers zijn, bezoek dan C ++ pointers.
Hier is hoe u een aanwijzer voor structuren kunt maken:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Dit programma maakt een pointer ptr van het type structuurtemp.
Voorbeeld: verwijzingen naar structuur
#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; )
Uitvoer
Voeten invoeren: 4 Inch invoeren: 3.5 Informatie weergeven. Afstand = 4 voet 3,5 inch
In dit programma wordt een pointervariabele ptr en een normale variabele d van de typestructuur Distance gedefinieerd.
Het adres van variabele d wordt opgeslagen in pointervariabele, dat wil zeggen, ptr wijst naar variabele d. Vervolgens wordt de lidfunctie van variabele d benaderd met pointer.
Opmerking: aangezien pointer ptr in dit programma naar variabele d verwijst, (*ptr).inch
en d.inch
exact dezelfde cel is. Evenzo, (*ptr).feet
en d.feet
is exact dezelfde cel.
De syntaxis om toegang te krijgen tot de lidfunctie met de pointer is lelijk en er is een alternatieve notatie -> die vaker voorkomt.
ptr-> feet is hetzelfde als (* ptr) .feet ptr-> inch is hetzelfde als (* ptr) .inch