Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual_C_console.pdf
Скачиваний:
34
Добавлен:
16.05.2015
Размер:
954.14 Кб
Скачать

131

равнивания, возможно, в памяти будут оставлены "пустые" места, а это значит, что фактический объем памяти, выделенный для размещения структуры, может не совпадать с рассчитанным вручную. Точный объем памяти, требуемый для размещения структуры, определяет операция sizeof, которой и рекомендуется пользоваться для этих целей.

Рабочий указатель может быть настроен на адрес структуры, память для которой выделена. Например, пусть product объявленный выше тип структуры.

product shop1, *ptr;

Тогда оператор ptr = &shop1;

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

1.При объявлении переменной типа структуры ей выделяется память.

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

Примечание. Если требуется возвратить структуру через список параметров функции, то желательно использовать ссылку.

Объединения

Объединения (union) позволяют по-разному интерпретировать одну и ту же область памяти, т.е. в одной и той же области памяти можно разместить разнородные элементы. Описываются объединения так же, как и структуры: сначала шаблон объединения (новый тип данных), а затем переменные этого типа данных. Например,

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