Прямой доступ к элементам структур.

Инициализация структур

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

Инициализация структуры заключается в присваивании начальных значений элементам структуры. Структуры могут быть проинициализированы при их объявлении.

Инициализирующая запись – это заключенный в фигурные скобки список, элементы которого разделяются запятыми и являются константами. Любые неинициализированные элементы внешних или статических структур по умолчанию равны 0. Значения неинициализированных элементов автоматических структур не определены.

Для инициализации структур значения ее полей перечисляются в фигурных скобках.

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

Уточненное имя – это выражение с двумя операндами и операцией «точка» между ними. Операция «точка» называется операцией доступа к элементу структуры. У нее самый высокой ранг наряду со скобками (и операцией «стрелка» для доступа к элементам структуры через адресующий ее указатель).

Уточненное имя используется для выбора правого операнда операции «точка» из структуры, задаваемой левым операндом. Левый операнд должен иметь структурный тип, а правый операнд должен быть именем компонента (элемента) данной структуры. Тип результата операции «точка» ‑ это тип именуемого ею компонента структуры, т.е. тип уточненного имени, — это тип именуемого ею компонента (элемента) структуры. Именно такие типы указаны в приведенных выше примерах, т.е. coat.vol — объект типа int и т.д.

Второй способ доступа к элементам структуры с помощью «настроенного» на нее указателя предусматривает применение специальной операции «стрелка» (->). Операция «стрелка» обеспечивает доступ к элементу структуры через адресующий ее указатель того же структурного типа.

Операция «стрелка» двуместная. Применяется для доступа к элементу, задаваемому правым операндом, той структуры, которую адресует левый операнд. В качестве левого операнда должен быть указатель на структуру, в качестве правого – обозначение (имя) компонента этой структуры.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *