{
Int num; // названия элементов
char name [20];
float sum;
};
Здесь ELEM– имя структуры; num , name и sum – элементы структуры и их типы. В качестве элементов структуры могут быть также использованы имена других структур.
При описании структуры используется имя шаблона. Могут быть описаны отдельные структуры, массивы структур, а также указатели на структуры и массивы указателей. Примеры описаний:
Struct ELEM st; // структура
struct ELEM sm[10]; // массив структур
struct ELEM *sp; // указатель на структуру
struct ELEM *spm[10]; // массив указателей на структуры
Для обращения к элементу структуры используется операция «. », например:
st.num = 2;
sm [3].sum = 3.3;
scanf («%s», &sp.name);
Для обращения к элементу структуры, адресуемой указателем, используется операция «–> », например:
sp – > num = 2;
spm [3] – > sum = 3.3;
spm – > name[0] = ’R’;
Для динамического выделения памяти используется функция malloc() . Для определения размера структуры в байтах удобно использовать операцию sizeof() , возвращающую целую константу:
struct ELEM *sp;
sp = malloc(sizeof(struct ELEM));
Таблица 1
№
Поля записи БД (элементы структуры)
Количе-ство записей в БД
№ поля
для сортировки
Выделение памяти под структуры
Тип сортировки
Устройство для вывода записей
A
статическое
Возрастает
Принтер
B
динамическое
Убывает
Экран
C
статическое
Убывает
Принтер
D
динамическое
Возрастает
Принтер
E
статическое
Убывает
Экран
F
динамическое
Возрастает
Экран
A
статическое
Возрастает
Экран
B
динамическое
Убывает
Принтер
C
статическое
Возрастает
Принтер
D
динамическое
Убывает
Экран
E
динамическое
Убывает
Принтер
F
статическое
Возрастает
Экран
A
статическое
Возрастает
Экран
B
динамическое
Убывает
Экран
C
статическое
Возрастает
Принтер
D
динамическое
Убывает
Принтер
E
статическое
Возрастает
Экран
F
динамическое
Убывает
Экран
A
динамическое
Возрастает
Экран
B
статическое
Возрастает
Принтер
C
статическое
Убывает
Принтер
D
динамическое
Возрастает
Экран
E
динамическое
Убывает
Экран
F
статическое
Убывает
Экран
A
статическое
Возрастает
Экран
Таблица 2
№
Поля записи БД (элементы структуры)
Количество записей в БД
№ поля для сортировки
Выделение памяти под структуры
Тип сортировки
Устройство для вывода записей
D
динамическое
Убывает
Экран
E
статическое
Возрастает
Экран
F
динамическое
Убывает
Экран
A
статическое
Убывает
Принтер
B
динамическое
Возрастает
Принтер
C
статическое
Возрастает
Экран
D
динамическое
Убывает
Принтер
E
динамическое
Возрастает
Экран
F
статическое
Убывает
Экран
A
статическое
Возрастает
Экран
B
динамическое
Убывает
Принтер
C
статическое
Возрастает
Принтер
D
динамическое
Возрастает
Экран
E
статическое
Убывает
Экран
F
динамическое
Возрастает
Экран
A
динамическое
Убывает
Принтер
B
статическое
Убывает
Принтер
C
статическое
Возрастает
Экран
D
динамическое
Возрастает
Экран
E
динамическое
Убывает
Экран
F
статическое
Убывает
Экран
A
статическое
Возрастает
Принтер
B
статическое
Убывает
Экран
C
динамическое
Возрастает
Принтер
D
статическое
Возрастает
Принтер
Таблица 3
№
Поля записи БД (элемен-ты структуры)
Коли-чество
записей
в БД
№ поля
для сортировки
Выделение
памяти
под структуры
Тип
сортировки
Устройство для вывода записей
D
статическое
Возрастает
Экран
E
динамическое
Убывает
Принтер
F
динамическое
Возрастает
Принтер
A
статическое
Убывает
Экран
B
статическое
Убывает
Экран
C
динамическое
Возрастает
Экран
D
статическое
Возрастает
Принтер
E
динамическое
Убывает
Принтер
F
статическое
Возрастает
Экран
A
динамическое
Убывает
Экран
B
динамическое
Возрастает
Экран
C
статическое
Убывает
Экран
D
статическое
Возрастает
Экран
E
динамическое
Возрастает
Принтер
F
динамическое
Убывает
Экран
A
статическое
Возрастает
Принтер
A
статическое
Убывает
Принтер
B
статическое
Убывает
Экран
C
динамическое
Возрастает
Экран
D
статическое
Возрастает
Экран
E
динамическое
Убывает
Принтер
F
статическое
Убывает
Принтер
A
динамическое
Возрастает
Экран
B
статическое
Возрастает
Принтер
C
динамическое
Возрастает
Экран
Таблица 4
№
Поля записи БД (элементы структуры)
Количество записей в БД
№ поля
для сортировки
Выделение памяти под структуры
Тип сортировки
Устройство для вывода записей
B
Статическое
Возрастает
Принтер
C
динамическое
Убывает
Экран
D
Статическое
Возрастает
Экран
E
динамическое
Убывает
Экран
F
Статическое
Возрастает
Принтер
A
динамическое
Убывает
Принтер
B
динамическое
Возрастает
Экран
C
Статическое
Возрастает
Принтер
D
Статическое
Убывает
Экран
E
динамическое
Возрастает
Экран
F
Статическое
Убывает
Экран
A
динамическое
Убывает
Принтер
A
Статическое
Возрастает
Принтер
A
динамическое
Возрастает
Экран
B
динамическое
Убывает
Экран
C
Статическое
Убывает
Экран
D
Статическое
Возрастает
Принтер
E
динамическое
Убывает
Принтер
F
динамическое
Возрастает
Экран
A
Статическое
Возрастает
Экран
B
Статическое
Убывает
Экран
C
Статическое
Возрастает
Экран
D
динамическое
Убывает
Принтер
E
Статическое
Убывает
Экран
F
динамическое
Возрастает
Принтер
Таблица 5
№
Поля записи БД (элементы структуры)
Количество записей в БД
№ поля
для сорти-ровки
Выделение
памяти под
структуры
Тип
сорти-
ровки
Устройство для вывода записей
E
статическое
Убывает
Экран
F
динамическое
Возрастает
Экран
A
статическое
Убывает
Принтер
B
динамическое
Возрастает
Принтер
C
динамическое
Возрастает
Экран
D
статическое
Убывает
Принтер
E
статическое
Возрастает
Экран
F
динамическое
Убывает
Экран
A
статическое
Убывает
Экран
B
динамическое
Возрастает
Принтер
C
статическое
Возрастает
Принтер
D
динамическое
Убывает
Экран
E
динамическое
Возрастает
Экран
F
статическое
Убывает
Экран
A
статическое
Возрастает
Принтер
B
динамическое
Убывает
Принтер
C
динамическое
Возрастает
Экран
D
статическое
Возрастает
Экран
E
статическое
Убывает
Экран
F
статическое
Возрастает
Экран
A
динамическое
Убывает
Принтер
A
статическое
Убывает
Экран
B
динамическое
Возрастает
Принтер
C
статическое
Возрастает
Принтер
D
динамическое
Убывает
Экран
Таблица 6
№
Поля записи БД (эле-менты структуры)
Кол-во записей
в БД
№ поля
для сор-
тиров-
ки
Выделение
памяти
под струк-
туры
Тип
сорти-
ровки
Устройство для вывода записей
E
динамическое
Убывает
Принтер
F
статическое
Возрастает
Экран
A
динамическое
Возрастает
Принтер
B
статическое
Убывает
Экран
C
динамическое
Возрастает
Экран
D
статическое
Убывает
Экран
E
динамическое
Убывает
Принтер
F
статическое
Возрастает
Принтер
A
динамическое
Возрастает
Экран
B
динамическое
Убывает
Экран
C
статическое
Возрастает
Экран
D
статическое
Убывает
Принтер
E
динамическое
Возрастает
Принтер
F
статическое
Убывает
Экран
A
динамическое
Возрастает
Экран
A
статическое
Возрастает
Экран
B
динамическое
Убывает
Экран
C
динамическое
Возрастает
Принтер
D
статическое
Убывает
Экран
E
статическое
Убывает
Принтер
F
динамическое
Возрастает
Принтер
A
динамическое
Возрастает
Экран
B
статическое
Убывает
Экран
C
статическое
Убывает
Экран
D
статическое
Возрастает
Принтер
Таблица 7
№
Поля записи БД (элемен-ты труктуры)
Коли-
чество
записей
в БД
№ поля
для
сорти-
ровки
Выделение
памяти под
структуры
Тип
сорти-
ровки
Устройство для вывода записей
C
статическое
Убывает
Принтер
D
динамическое
Возрастает
Принтер
E
статическое
Возрастает
Экран
F
динамическое
Убывает
Экран
A
статическое
Возрастает
Экран
B
динамическое
Убывает
Принтер
C
динамическое
Возрастает
Принтер
D
статическое
Убывает
Экран
E
статическое
Возрастает
Принтер
F
динамическое
Возрастает
Экран
A
статическое
Убывает
Экран
B
динамическое
Возрастает
Экран
C
статическое
Убывает
Принтер
D
динамическое
Убывает
Принтер
E
динамическое
Возрастает
Экран
F
статическое
Возрастает
Экран
A
статическое
Убывает
Экран
B
динамическое
Убывает
Принтер
C
динамическое
Возрастает
Принтер
D
статическое
Убывает
Экран
E
статическое
Возрастает
Экран
F
статическое
Возрастает
Экран
A
динамическое
Убывает
Экран
A
статическое
Возрастает
Принтер
B
динамическое
Убывает
Экран
Таблица 8
№
Поля записи БД (элементы структуры)
Коли-чество запи-
сей
в БД
№ поля
для
сорти-
ровки
Выделение
памяти
под структуры
Тип
сорти-
ровки
Устройство для вывода записей
A
статическое
Возрастает
Экран
B
динамическое
Возрастает
Принтер
C
динамическое
Убывает
Принтер
D
статическое
Возрастает
Экран
E
статическое
Убывает
Принтер
F
динамическое
Возрастает
Экран
A
статическое
Убывает
Экран
B
динамическое
Возрастает
Экран
C
статическое
Возрастает
Принтер
D
динамическое
Убывает
Принтер
E
динамическое
Возрастает
Экран
F
статическое
Убывает
Экран
A
статическое
Убывает
Экран
A
динамическое
Возрастает
Принтер
B
динамическое
Возрастает
Принтер
C
статическое
Убывает
Экран
D
статическое
Убывает
Экран
E
статическое
Возрастает
Экран
F
динамическое
Убывает
Экран
A
статическое
Возрастает
Принтер
B
динамическое
Возрастает
Экран
C
статическое
Убывает
Принтер
D
динамическое
Возрастает
Принтер
E
статическое
Убывает
Экран
F
динамическое
Убывает
Экран
Часть 2