Wskaźniki C ++ do struktury

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, doubleitd.), 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).inchi d.inchjest dokładnie tą samą komórką. Podobnie (*ptr).feeti d.feetjest 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

Interesujące artykuły...