Лабораторный практикум по основам языка C/С++ |
Тема 3.4. Структуры
Кроме числовых и символьных данных в C++ есть тип, который позволяет объединить разнородные данные и обрабатывать их как единое целое. Этот тип называется структурой. Структура является собранием одного или более объектов (переменных, массивов, указателей и т.д.), которые для удобства работы с ними объединены под одним именем. Переменные, входящие в состав структуры, называются полями
Схема описания структуры выглядит следующим образом:
struct <имя структуры>[: наследования] {
<тип поля> <имя_поля1> :[кол-во бит];
<тип поля> <имя_поля2> :[кол-во бит];
...
<тип поля> <имя_поляN> :[кол-во бит];
} <глобальные переменные>;
Определение структуры состоит из одного или двух шагов:
- объявление структуры (задание нового типа данных, определенного пользователем); структура состоит из полей, например:
- определения переменных типа структура:
При этом, как можно видеть из примера, приведенного в начале, переменные-структуры можно описать сразу же на первом шаге.
Для обращения к полям структуры нужно указать имя переменной, а затем через точку без пробела – имя поля
Structura.pole
Листинг 1. Пример консольного приложения, использующего структуры.
Структуры можно инициализировать при описании также, как и массивы:
Битовые карты
Структуры с полями, каждое из которых занимает 1 бит называются битовыми картами. Ниже приведена структура с одим полем, которое может хранить лишь один бит.
Точно таким же образом можно создать структуру, которая будет хранить байт побитно:
Обратите внимание, что биты идут в обратно порядке, потому что числа записываются слева направо.