У цій статті ви знайдете відповідні приклади, які допоможуть вам працювати з покажчиками для доступу до даних у структурі.
Мінлива покажчик може бути створений не тільки для рідних типів подобається ( 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 структури типу Відстань.
Адреса змінної d зберігається у покажчику змінної, тобто ptr вказує на змінну d. Потім доступ до функції члена змінної d здійснюється за допомогою покажчика.
Примітка: Оскільки покажчик ptr вказує на змінну d у цій програмі (*ptr).inch
і d.inch
є точно такою ж коміркою. Аналогічно, (*ptr).feet
і d.feet
є точно такою ж клітинкою.
Синтаксис доступу до функції-члена за допомогою вказівника є потворним, і існує альтернативний запис ->, який є більш поширеним.
ptr-> фути те саме, що (* ptr). фути ptr-> дюйм те саме, що (* ptr) .inch