Масив структур c

Як звернутися до елементу конкретного об'єкта структури? Звичайне звернення через точку вже не підійде:

Звичайно, адже незрозуміло в який саме об'єкт з 7 треба внести дані. Так як кожен об'єкт тепер є осередком масиву структур, щоб звернутися до її елементів треба спочатку вказати індекс об'єкта в квадратних дужках. Тільки потім точку і ім'я елемента:

У рядках 31-49 знаходиться цикл for. З його допомогою вносяться дані в усі об'єкти масиву структур. Зверніть увагу на рядок 47. Без цього оператора cin.get (); ви зіткнетеся з помилкою, про яку компілятор вам не повідомить. Вона полягає в тому, що після внесення даних в елемент Woman [i] .volume.hips і натискання Enter, в потоці введення залишається символ кінця рядка. Коли цикл продовжить роботу - цей символ автоматично запишеться в Woman [i] .name наступного об'єкта і нам відразу буде запропоновано ввести вік. Тобто ім'я внести ми не зможемо. Щоб цього уникнути, треба вважати з потоку цей символ за допомогою cin.get () ;.

Результат - заповнюємо структури даними.

Масив структур c

Після введення даних всіх моделей, екран очиститься (за що відповідає system ( «cls»);) і ми побачимо таблицю:

Масив структур c

У цій статті поговоримо ще про покажчики на структури. Якщо, наприклад, треба написати функцію, в якій будуть записуватися дані в елементи структури, то необхідно передати цю структуру за вказівником. Інакше зміни не будуть збережені. Розглянемо приклад зі структурою Size з попереднього лістингу. Треба написати функцію, в якій користувач вносить дані в елементи структури.

покажчик на структуру C ++

Оголошуючи покажчик на структуру, не забувайте про те, що треба виділити пам'ять під неї - рядок 18. Покажчик оголошений. Давайте розберемося тепер, як звертатися до елементів структури, через покажчик. Припустимо треба внести значення в елемент waist. Використовувати. - операцію доступу по об'єкту вже не вийде:

Тепер все нормально, але це не зовсім зручна запис. В С ++ є спеціальна операція доступу за вказівником (стрілочка - складається з тире і знака більше) ->. Вона як би показує, на який елемент структури посилається покажчик:

Так що просто запам'ятайте - якщо ви працюєте з покажчиком на структуру, то для доступу до елементів цієї структури треба застосовувати не крапку, а стрілку. Перепишіть приклад, який розташований вище - так буде легше зрозуміти і запам'ятати.

Щоб підтримати наш сайт - натисніть на скарбничку і виберіть будь-який зручний спосіб.