Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lec13

.pdf
Скачиваний:
9
Добавлен:
12.02.2015
Размер:
196.58 Кб
Скачать

Формат определения структурного типа.

Структуру так же можно ввести с помощью служебного слова typedef

Структуры так же можно определять с помощью директивы

#define:

book - препроцессорный индентификатор - далее в программе можно определять конкретные объекты - структуры или указатели с помощью имени book.

Пример. book si, *pi;

Определение структур.

Прежде чем элементы, введенные в определении структурного типа, смогут получить значения, должны быть определена хотя бы одна структура т.е. структурный объект этого типа.

Пример. struct goods coat, tea; 2 структуры типа goods. Формат определения имеет вид:

Если структурный тип определен через typedef то формат определения может не включать служебного слова struct.

Пример. complex p_comp;

Другие схемы определения структур.

Структура может быть определена одновременно с определением структурного типа.

Другие схемы определения структур.

Упрощенный вариант определения структур без названия (обычно используется для однократного определения структур)

Пример.

Выделение памяти для структур.

При каждом определении структуры ей выделяется память в таком количестве, что бы могли разместиться данные всех элементов.

Выделение памяти для структур.

Данные в структуре могут быть расположены не подряд, а с некоторыми пропусками (дырами). Влиять на размещение структур в памяти можно с помощью препроцессорной директивы #pragma.

Размер памяти в байтах, выделяемый для структуры можно определить с помощью операции:

Примеры. sizeof(struct goods) sizeof(tea)

Операции дадут одинаковый результат.

Инициализация и присвоение структур.

Пример инициализации.

В отличии от массивов разрешено присвоение структур.

Примеры. tea=coat; complex sport; sport=sigma;

Но для структур не определена операция сравнения даже на равенство. Поэтому сравнивать структуры нужно только поэлементно.

Доступ к элементам структур.

Доступ к элементам структуры обеспечивается с помощью операции "точка".

имя-структуры.имя-элемента; Пример. Структура типа goods.

"Уточненные"имена элементов структур обладают всеми правами объектов соответствующих типов. Их можно использовать в выражениях, вводить с клавиатуры и т.д. Пример. Программа сложения комплексных чисел.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]