Структура – это набор разнотипных поименованных элементов, объединенных общим именем.


Структуры, наряду с массивами, являются агрегирующими типами, т.е., состоят из нескольких элементов. В отличие от массивов элементы структуры могут иметь различные типы и для доступа к элементам структуры используются их имена.


Задавать структуры целесообразно в задачах, использующих близкие по смыслу данные, например, сведения о студентах группы, абонентах телефонной сети, книгах, хранящихся в библиотеке и т.п.


Для определения структурного типа нужно задать так называемый структурный шаблон. Пусть нам нужны данные о студентах. Нас будут интересовать следующие сведения: фамилия, имя, пол, возраст, рост, вес, средний балл зачетки. Все эти данные можно описать следующей структурой:


Ассоциативная связь


Обратите внимание на обязательное наличие «;» после закрывающей фигурной скобки.


struct является спецификатором структурного типа (служебное слово), а student – имя этого типа, придуманное нами. В фигурных скобках описываются тип и имя элементов структуры, которые также называют полями структуры.


Элементы структуры могут иметь любой тип, в том числе и структурный.


Определения элементов структуры внешне похожи на определения данных соответствующего типа. Однако для элементов структурного типа в момент описания память не отводится. Можно считать, что мы создали свой тип данных с именем struct student . Далее в программе можно описывать переменные этого типа:


struct student s1,s2,s3;


И уже для структурных переменных будет отводиться память в соответствии со структурным шаблоном.


Отметим, что можно совмещать описание структурного шаблона и конкретных структур:


Ассоциативная связь