Главная->Інформатика та програмування->Содержание->Определение структурной переменной

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 4) онлайн

Определение структурной переменной

Первый оператор функции main() выглядит следующим образом:

part part1;

Он представляет собой определение переменной part1, имеющей тип part. Определение переменной означает, что под эту переменную выделяется память.

Рис. 4.1. Синтаксис определения структуры

Сколько же памяти выделяется в данном случае? Под структурную переменную всегда отводится столько памяти, сколько достаточно для хранения всех ее по- лей. В нашем примере необходимо выделить по 4 байта для двух полей типа int (если считать, что операционная система является 32-битной) и 4 байта для поля типа float. На рис. 4.3 изображено расположение в памяти переменной part1.

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

Переменные типа Foo Рис. 4.2. Структуры и их переменные

Рис. 4.3. Расположение членов структуры в памяти

В некотором смысле мы можем считать структуру part новым типом данных. Этот вопрос станет более понятен при дальнейшем рассмотрении, однако уже

сейчас вы можете заметить, что определение структурной переменной по своему синтаксису идентично определению переменной стандартного типа:

part part1; int var1;

Такое сходство не является случайным. Одна из целей языка C++ — сделать работу с пользовательскими типами данных максимально похожей на работу со стандартными типами данных (в языке C при определении структурных пере- менных необходимо применять ключевое слово struct; определение переменной part1 на языке C выглядело бы как struct part part1).

 

6