Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Структуры объединяют под одним именем несколько переменных, возможно разных типов.
1.struct [имя типа структуры]{список элем структуры}[описатель [,описатель]]…;
2.struct имя типа структуры описатель[,описатель]…;
Объявление структуры задаёт имена переменных структуры и последовательность переменных величин, называемых элементами структуры(членами структуры или полями структуры).Причем каждое поле может иметь свой тип.
В формате 1 список элем задаёт типы элементов структуры и их имена. Имя типа структуры задаёт тип структуры, который далее может служить кратким обозначением декларации, заключённой в фигурные скобки.
В формате 2 используется имя типа структуры, которое уже было определено где-то раньше в программе.
Имена типов структур и отдельных элементов могут совпадать с именами обычных переменных, кроме того, одни и те же имена допускаются в различных структурах, но в одной структуре имена должны быть уникальными. Имена типов структур должны отлич от других типов структур, объединений в той же области видимости.
Описатель именует переменную типа struct и может быть обычной перем, указателем, массивом или ф-цией.
Список объявл элем содержит одну или несколько объявлений переменных или полей битов. Объявл не могут содержать специф класса памяти элем структ. и нач значений элем. Элем структур могут быть элем любого основного типа, массивами, структурами, объединениями и указателями.
struct student {char name[30];
int kurs;
char group [8];}
Компилятор выделяет память под каждую переменную, равную сумме длин всех полей. Не всегда это правило выполняется из-за выравнивания объектов различной длины, поэтому могут появиться дыры.
struct a{char c;int b;} l; - 4 байта
Задание шаблона и объявление переменной можно производить одновременно.
Доступ к элементу структуры осуществляется с помощью операции точка: имя_структуры. имя_переменной
Структуры могут быть вложены друг в друга. Поле, являющееся структурой, является вложеной структурой. Шаблон вложеной структуры должен быть известен компилятору.
struct pt{int x; int y;};
struct a{struct pt,p1; struct p1,p2;}
Ссылка на поле вложенной структуры формируется из имени структуры переменной, имени структурного поля и имени поля вложенной структуры: screen.p1.x
Ограничение на вложение структур: структура не может вкладываться сама в себя.
Операции над структурами
Возможны следующие операции над структурами:
1.Копирование
2.Присваивание (передача структур в функции и возврат их в качестве результата также относится к операции присваивания)
3.Взятие адреса
4.Осущ доступа к переменной
Структуры. Операции над структурами
Структуры нельзя сравнивать. Если объявлены две структ перем с одним шаблоном, то можно написать stud1=stud2; если они имеют один тип. Нельзя использовать операцию присваивания для структур, шаблоны которых под разным, хотя и идентичными, именами.
ПР: main()
{struct first{int a;
char b;};
struct second{int a;
char b;};
struct first a;
struct second b;
a.a=1,a.b=’f’;
b.a = a.a;
b.b = a.b
}
Шаблон имеет область видимости. Если шаблон объявлен внутри блока – локальный шаблон. Если шаблон объявлен вне блока, то он видим во всех ф-циях от точки объявления до конца файла. Нельзя описывать шаблон с реквизитом extern.
Переменная типа структуры также может быть локальной, глобальной и формальным параметром ф-ции.
При использовании структурных переменных в качестве параметров ф-ций используют 3 подхода:
1.Передавать элементы структурных переменных по отдельности
2.Передавать структуру целиком
3.Передавать указатель на структуру
Если передаётся структура по значению, то все элементы структуры заносятся в стек. Если структура большая, то стек может переполниться. При передаче по ссылке вся структура не копируется, а в стек заносится только адрес структуры. Можно объявить указатель на структуру: struct student *p;
Поскольку указатель на структуру используется часто то для доступа к её элементам существует ещё один способ – операция стрелка “->”.Операция ‘->’ и ‘.’ имеют одинаковый приоретет и вместе с операциями () и [] имеют наивысший приоритет.
Для доступа к структурам, размещенных динамич образом, для передачи в функции используют указатели.
|
|
|
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!