W tym artykule znajdziesz odpowiednie przykłady, które pomogą Ci pracować ze wskaźnikami w celu uzyskania dostępu do danych w strukturze.
Zmienna wskaźnik mogą być tworzone nie tylko przez rodzime typy podoba ( int
, float
, double
itd.), Ale mogą być również tworzone dla określonych typów użytkowników, takich jak struktury.
Jeśli nie wiesz, jakie są wskaźniki, odwiedź C ++ wskaźniki.
Oto jak możesz utworzyć wskaźnik dla struktur:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Ten program tworzy wskaźnik ptr typu structure temp.
Przykład: wskaźniki do struktury
#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; )
Wynik
Podaj stopy: 4 Podaj cale: 3.5 Wyświetlanie informacji. Odległość = 4 stopy 3,5 cala
W programie tym definiowana jest zmienna wskaźnikowa ptr oraz normalna zmienna d struktury typu Distance.
Adres zmiennej d jest przechowywany w zmiennej wskaźnikowej, to znaczy ptr wskazuje na zmienną d. Następnie dostęp do funkcji składowej zmiennej d uzyskuje się za pomocą wskaźnika.
Uwaga: Ponieważ wskaźnik ptr wskazuje na zmienną d w tym programie (*ptr).inch
i d.inch
jest dokładnie tą samą komórką. Podobnie (*ptr).feet
i d.feet
jest to dokładnie ta sama komórka.
Składnia dostępu do funkcji składowej za pomocą wskaźnika jest brzydka i istnieje alternatywna notacja ->, która jest bardziej powszechna.
ptr-> feet to to samo co (* ptr) .feet ptr-> inch to to samo co (* ptr) .inch