Структуры. Struct имя тип поле1 тип поле2
Скачать 14.16 Kb.
|
Структуры Для создания сложных типов данных в языке С++ используется тип данных – структура. Синтаксис описания структуры: struct [имя] { тип поле1; тип поле2; … } Такое описание называется шаблоном структуры. Имя структуры не обязательный элемент. Опишем структуру, содержащую информацию о студенте (Фамилия_Имя_Отчество, Номер группы, Количество баллов): struct student { char fio[31]; char group[6]; float ball; } Структура с именем student содержит три поля – массив символов (строка) для хранения фамилии (fio), строка для хранения номера группы (group), вещественная переменная для хранения количества баллов (ball). Опишем переменную типа struct student – struct student st1; // описана переменная st1 Опишем массив структур: struct student m_st[22]; // описан массив m_st Для обращения к полям структуры используется следующий синтаксис: <имя переменной>. <имя поля> st1.fio – строка в поле fio переменной st1. st1.fio[0] – первый символ поля fio переменной st1. m_st[20].fio – строка в поле fio двадцатого элемента массива. Полем структуры может быть структура: struct { struct { char fam[21]; char name[15]; char fname[20]; } fio; сhar group[6]; float ball; } st1; Здесь показан другой способ описания переменной структурного типа. Обращение к полю name переменной st1 выглядит следующим образом: st1.fio.name При использовании указателя на структуру обращение к полям выглядит следующим образом: struct Coord { int x; int y; } struct Coord *z; … z->y; … В языке С++ существует механизм определения собственных, пользовательских типов – typedef. Пример. Определим для структуры Coord тип Pixel. typedef struct { int x; int y; } Pixel; В этом случае описание переменных будет выглядеть таким образом: Pixel z, m; // описаны переменные m и z |