English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, troverai esempi pertinenti che ti aiuteranno a utilizzare i puntatori per accedere ai dati all'interno della struttura.
PuntatoreLe variabili possono essere create non solo per i tipi di dati nativi (int, float, double, ecc.), ma anche per i tipi di dati definiti dall'utente (comeStruttura) creazione.
Se non sai cosa sia un puntatore, visitaPuntatore C++.
Questo è il metodo per creare un puntatore di struttura:
#include <iostream> using namespace std; struct temp { int i; float f; }; int main() { temp *ptr; return 0; }
Questo programma crea un puntatore di tipo di struttura temp chiamato ptr.
#include <iostream> using namespace std; struct Distance { int feet; float inch; }; int main() { Distance *ptr, d; ptr = &d; cout << "Inserisci piedi: "; cin >> (*ptr).feet; cout << "Inserisci pollici: "; cin >> (*ptr).inch; cout << "Mostra informazioni" << endl; cout << "Distanza = " << (*ptr).feet << " piedi " << (*ptr).inch << " pollici"; return 0; }
Risultato di output
Inserisci piedi: 4 Inserisci pollici: 3.5 Mostra informazioni Distanza = 4 piedi 3.5 pollici
Il programma definisce il tipo di struttura Distance, che possiede il variabile puntatore *ptr e il variabile comune d.
L'indirizzo del variabile d è memorizzato nel variabile di puntatore, ovvero ptr punta al variabile d, quindi viene utilizzato il puntatore per accedere ai membri della funzione del variabile d.
Attenzione:Poiché il puntatore ptr in questo programma punta al variabile d, quindi (*ptr).inch e d.inch sono unità identiche. Allo stesso modo, (*ptr).feet e d.feet sono unità identiche.
La sintassi per accedere ai membri delle funzioni tramite puntatore è brutta, ma c'è un simbolo sostitutivo più comune->.
ptr->feet è equivalente a (*ptr).feet ptr->inch è equivalente a (*ptr).inch