Структуры, объединения, перечисления и декларации typedef
В языке С имеется пять способов создания пользовательских типов данных. Пользовательские типы данных можно создать с помощью:
структуры — группы переменных, имеющей одно имя и называемой агрегатным типом данных. (Кроме того, еще известны термины соединение (compound) и конгломерат (conglomerate).);
объединения, которое позволяет определять один и тот же участок памяти как два или более типов переменных;
битового поля, которое является специальным типом элемента структуры или объединения, позволяющим легко получать доступ к отдельным битам;