BigEdu.ru
» » » Работа со структурами в языке программирования Си++
Вернуться назад

Работа со структурами в языке программирования Си++

Структура – это объединение одного либо более объектов (переменных, массивов, указателей, других структур). Как и массив, она представляет собой совокупность данных, но отличается от него тем, что к ее элементам необходимо обращаться по имени, и ее различные элементы не обязательно должны принадлежать одному типу.
Структуры удобно использовать там, где разнообразные данные, относящиеся к одному и тому же объекту, необходимо объединять. Например, ученика средней школы характеризуют следующие данные: фамилия, имя, дата рождения, класс, возраст.
Объявление структуры осуществляется с помощью ключевого слова struct, за которым следует ее тип, список элементов, заключенных в фигурные скобки. Ее можно представить в следующем общем виде:
struct тип {тип элемента 1 имя элемента 1;
тип элемента n имя элемента n; };
Именем элемента может быть любой идентификатор. В одной строке можно записывать через запятую несколько идентификаторов одного типа.
Например:
struct date { int day;
int month;
int year;} ;
Русские буквы использовать в идентификаторе в языке СИ нельзя.
Следом за фигурной скобкой, заканчивающей список элементов, могут записываться переменные данного типа, например:
struct date {…} a, b, c;
При этом выделяется соответствующая память.
Выведенное имя типа можно использовать для объявления записи, например: struct date day;. Теперь переменная day имеет тип date.
Разрешается вкладывать структуры одна на другую. Для лучшего восприятия структуры используем русские буквы в идентификаторах, в языке СИ этого делать нельзя.
Например:
struct УЧЕНИК { char Фамилия [15];
имя [15];
struct DATA ДАТА РОЖДЕНИЯ;
int класс, возраст;};
Определенный выше тип DATA включает три элемента: День, Месяц, Год, содержащие целые значения (int). Запись УЧЕНИК включает элементы: ФАМИЛИЯ [15]; ИМЯ[15]; ДАТА РОЖДЕНИЯ, КЛАСС, ВОЗРАСТ. ФАМИЛИЯ [15] и ИМЯ [15] – это символьные массивы из 15 компонент каждый. Переменная ДАТА РОЖДЕНИЯ представлена составным элементом (вложенной структурой) ДАТА. Каждой дате рождения соответствуют день месяца, месяц и год. Элементы КЛАСС и ВОЗРАСТ содержат значения целого типа (int). После введения типов ДАТА и УЧЕНИК можно объявить переменные, значения которых принадлежат этим типам.
Например:
struct УЧЕНИК УЧЕНИКИ [50];
массив УЧЕНИКИ состоит из 50 элементов типа УЧЕНИК.
В языке СИ разрешено использовать массивы структуры; записи могут состоять из массивов и других записей.
Чтобы обратиться к отдельному компоненту структуры, необходимо указать ее имя, поставить точку и сразу за ней написать имя нужного элемента.
Например:
Ученики [1]. КЛАСС = 3;
Ученики [1]. ДАТА РОЖДЕНИЯ. ДЕНЬ=5;
Ученики [1]. ДАТА РОЖДЕНИЯ. МЕСЯЦ=4;
Ученики [1]. ДАТА РОЖДЕНИЯ. ГОД=1979;
Первая строка указывает, что 1-й ученик учится в третьем классе, а последующие строки – его дату рождения: 5.04.79.
Каждый тип элемента структуры определяется соответствующей строкой объявления в фигурных скобках. Например, массив УЧЕНИКИ имеет тип УЧЕНИК, год является целым числом. Так как каждый элемент записи относится к определенному типу, его составное имя может появляться везде, где разрешено использовать значение этого типа. Рассмотрим пример программы:
/* Демонстрация записи */
#include
struct computer { int mem;
int sp;
char model [20]; };
/* Объявление записи типа computer, состоящей из трех элементов: mem, sp, model */
struct computer pibm =
{512, 1, “ПЭВМЕС 1840.05”}
/* Объявление и инициализация переменной pibm типа computer */
main ( )
{ printf (“ персональная ЭВМ % s\n\n “, pibm.model);
printf ( “объем оперативной памяти - % d К байт \n”, pibm.mem);
printf (“производительность - % d млн. операций в секунду \n”, pibm.sp);
/* вывод на экран значений элементов структуры */
}
В данной программе объявляется запись computer, которая состоит из трех элементов: mem (память ЭВМ), sp (быстродействие), model [20] (модель ПЭВМ). Переменная pibm имеет тип computer и является глобальной. Строки pibm.model, pibm.mem, pibm. sp в операторе printf вызывают обращение к соответствующим элементам записи pibm типа computer, которым ранее были присвоены определенные значения.
Результат работы программы имеет вид:
персональная ЭВМ ПЭВМ ЕС 1840.05
объем оперативной памяти – 512 К байт
производительность – 1 млн. операций в секунду
Рассмотрим использование в программе вложенных структур:
/* Демонстрация вложенных структур*/
# include
struct date { int day;
int month;
int year; };
/* Объявление записи типа date*/
struct person { char fam [20];
char im [20];
char ot [20];
struct date f1;};
/* Объявление структуры типа person; одним из элементов записи person является запись f1
типа date */
main ( )
{ struct person ind1;
/* обьявление переменной ind1 типа person */
printf ( “Укажите фамилию, имя, отчество, день, \n месяц”
“ и год рождения гражданина ind1\n”);
scanf (“ % S % S % S %d %d”, &ind1.fam, &ind1.im, &ind1.ot,
& ind1.f1.day, &ind1.f1.month, &ind1.f1.year );
/* Ввод сведений о гражданине ind1 */
printf (“ Фамилия, имя, отчество: % S % S % S \n”, ind1.fam, ind1.im, ind1.ot);
printf (“ Годрождения - % d \n”, ind1.f1.year);
printf (“ Месяцрождения - % d -й \n”, ind1.f1.month);
printf (“ День рождения - % d -й \n”, ind1.f1.day);
/* Вывод сведений о гражданине ind1 */
}
Структура типа date ( дата) содержит три элемента: day (день), month (месяц), year (год). Структура типа person (человек) содержит четыре элемента: fam[20] (фамилия), im[20] (имя) , ot[20] (отчество), f1 (дата рождения). Последний из них (f1) – это вложенная запись типа date.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике Структура – это объединение одного либо более объектов (переменных, массивов, указателей, других структур). Как и массив, она представляет собой
Оценок: 340 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru