Структуры в С. Л.р.7 Структуры в С++ — копия. Методические указания к сложным типам данных, кроме массивов, относятся структуры. Структура struct
Скачать 32.88 Kb.
|
Лабораторная работа Тип данных СТРУКТУРА в С++ (комбинированный тип данных) МЕТОДИЧЕСКИЕ УКАЗАНИЯ К сложным типам данных, кроме массивов, относятся структуры. СТРУКТУРА (struct) состоит из фиксированного числа компонентов (элементов) разных типов. СТРУКТУРА в языке С++ является аналогом комбинированного типа данных (или записи) в языке Паскаль. Структуры полезны, когда нам надо объединить несколько переменных с разными типами под одним именем. Т.е. структура – это производный тип данных, скомпонованных из определенного количества элементов, относящихся к различным стандартным типам данных. Важный момент !!!Структура состоит как минимум из двух элементов. Структура — это некое объединение различных переменных с разными типами данных, которому можно присвоить имя. Например можно объединить данные об объекте Дом: 1) город, в котором дом находится; 2) улица; 3) количество квартир; в одной структуре. Описание типа struct(ключевое слово, применяемое дляопределения структуры) имеет следующий вид: struct имя_структуры { тип1 имя_элемента1; // тип1 – тип данных первого элемента тип2 имя_элемента2; // с именем <имя_элемента1> ……………………… // … далее – по аналогии типN имя_элементаN; }; … имя_структуры имя_переменной; Пример Даты каких-либо событий можно записать следующим образом: struct date { int day; char month[9]; int year; };date d; (или struct date d;) В этом примере описаны: - структура date; - переменная d, принадлежащая типу date. Т.е. переменная d описана как переменная типа структура, состоящая из трех элементов: - day - month[9] - year Каждый элемент содержит данные: day – целое число, обозначающее день (от1 до 31); month[9] – строка символов с названием месяца; year – целое число, обозначающее год. Переменная типа структуры d может быть объявлена и так: struct date { int day; char month[9]; int year; }d; ……………………………………………… Еще пример: структура, описывающая данные некоторого человека: struct persona { char name[20]; // имячеловека int age; // возраст char address[40]; // адрес bool marie; // пол }; persona nekto; … описана переменная nekto, относящаяся к типу persona. Для обращения к элементу структуры нужно указатьимяпеременной и имя элемента структуры, разделив их точкой: <имя_ переменной>.<имя_элемента_структуры> Примеры: nekto.name nekto.age nekto.address nekto.marie К элементу структуры применима операция присваивания. Например, чтобы присвоить структуре d дату 14 ноября 2017 г., нужно в программу включить следующие операторы: d.day=14; d.month=”ноября”; d.year=2017; Ниже приводится полный текст С++ программы, в которой запрашиваются: текущий день месяца, название текущего месяца и текущий год. Результатом программы является текущая дата в привычной форме. В программе текущая дата – переменная d, имеющая тип структуры и состоящая из элементов d.day, d.month, d.year. // Программа - тип данных СТРУКТУРЫ (пример1) #include #include #include #include using namespace std; struct date // описаниеструктуры { // сименемdate int day; char month[9]; int year; }; // переменнаяd date d; // имеет тип структуры date main(void) { system("chcp 1251>nul"); cout<<"Введите текущий день месяца"<<endl; cin>>d.day; cout<<"Введите текущий месяц"<<endl; cin>>d.month; cout<<"Введите текущий год"<<endl; cin>>d.year; cout< system("pause"); } Важное !!! Элементы структуры могут быть аргументами всевозможных функций. Важное !!! Данные типа СТРУКТУРЫ могут образовать массивы. Т..е. каждый элемент некоторого массива в свою очередь может являться СТРУКТУРОЙ со своими элементами. |