In questo articolo troverai esempi rilevanti che ti aiuteranno a lavorare con i puntatori per accedere ai dati all'interno di una struttura.
Una variabile puntatore può essere creata non solo per i tipi nativi come ( int
, float
, double
ecc), ma possono anche essere creati per utente digita definiti come la struttura.
Se non sai cosa sono i puntatori, visita i puntatori C ++.
Ecco come creare un puntatore per le strutture:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Questo programma crea un puntatore ptr di tipo struttura temp.
Esempio: puntatori alla struttura
#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; )
Produzione
Immettere piedi: 4 Immettere pollici: 3.5 Visualizzazione delle informazioni. Distanza = 4 piedi 3,5 pollici
In questo programma, viene definita una variabile puntatore ptr e una variabile normale d di struttura di tipo Distance.
L'indirizzo della variabile d viene memorizzato nella variabile puntatore, ovvero ptr punta alla variabile d. Quindi, si accede alla funzione membro della variabile d utilizzando il puntatore.
Nota: poiché il puntatore ptr punta alla variabile d in questo programma (*ptr).inch
ed d.inch
è esattamente la stessa cella. Allo stesso modo, (*ptr).feet
ed d.feet
è esattamente la stessa cella.
La sintassi per accedere alla funzione membro usando il puntatore è brutta e c'è una notazione alternativa -> che è più comune.
ptr-> feet è uguale a (* ptr) .feet ptr-> inch è uguale a (* ptr) .inch