Вложенные структуры

Если полем структуры является другая структура, то получается вложенная структура. Определим структуры для времени и даты:

struct Time {

int hour, min, sec;

};

struct Date {

int day, month, year;

};

Теперь можно построить вложенную структуру DateTime:

struct DateTime {

Date today;

Time now;

};

Доступ к полям вложенной структуры осуществляется с помощью нескольких операций точка (.). Например, если объявить переменную dt:

DateTime dt;

то можно записать следующие операторы:

dt.today.year = 2011;

dt.hour.minute = 33;

Массивы в структурах

Полем структуры может быть одномерный или двумерный массивы фиксированной размерности. Например:

struct Matr {

int a[2][3];

float b[3];

char fio[20];

};

.....

Matr st;

st.a[0][0] = 25; cout<<st.a[i][j];

cin>>st.b[2]; st.fio[0] = '*';

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

Синтаксис объявления массива структур совершенно аналогичен объявлению массива любого другого типа. Сначала необходимо определить структурный тип, а затем объявить массив переменных данного типа. Например:

struct Date {

int day, month, year;

};

struct Person {

char fam[20];

Date birthday; // вложенная структура Date

long telNumber;

};

Date list[10]; // объявлен массив структур list

const n = 100;

Person p1[n]; // объявлен массив структур p1

Matr a[n]; // объявлен массив структур a

Для доступа к полям структур элементов массива имя массива структур индексируется, и затем через операцию точка (.) указывается поле структруры:

cin>>list[1].day;

cin>>list.day[2]; // нельзя

cout<<p1[i].birthday.day;

matr[0].a[0][1] = 25;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: