В этой статье вы найдете соответствующие примеры, которые помогут вам работать с указателями для доступа к данным внутри структуры.
Переменная-указатель может быть создана не только для собственных типов, таких как ( int
, float
и double
т. Д.), Но они также могут быть созданы для определенных пользователем типов, таких как структура.
Если вы не знаете, что такое указатели, посетите указатели C ++.
Вот как можно создать указатель для структур:
#include using namespace std; struct temp ( int i; float f; ); int main() ( temp *ptr; return 0; )
Эта программа создает указатель ptr структуры типа temp.
Пример: указатели на структуру
#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; )
Вывод
Введите футы: 4 Введите дюйм: 3,5 Отображение информации. Расстояние = 4 фута 3,5 дюйма
В этой программе определена указательная переменная ptr и нормальная переменная d структуры типа Distance.
Адрес переменной d сохраняется в переменной-указателе, то есть ptr указывает на переменную d. Затем доступ к функции-члену переменной d осуществляется с помощью указателя.
Примечание: поскольку указатель ptr указывает на переменную d в этой программе (*ptr).inch
и d.inch
является точно такой же ячейкой. Аналогично, (*ptr).feet
и d.feet
точно такая же ячейка.
Синтаксис для доступа к функции-члену с использованием указателя уродлив, и есть альтернативная нотация ->, которая более распространена.
ptr-> feet совпадает с (* ptr) .feet ptr-> inch совпадает с (* ptr) .inch