Курс лекций - Микропроцессоры

Операнды и операции - часть 5


Выражение выбора элемента применяется, если в качестве операнда надо использовать элемент структуры или объединения. Такое выражение имеет значение и тип выбранного элемента. Рассмотрим две формы выражения выбора элемента:

выражение.идентификатор,

выражение->идентификатор.

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

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

выражение -> идентификатор

эквивалентна записи

(* выражение).идентификатор

в случае, если выражение является указателем.

Пример:

struct tree {float num; int spisoc[5]; struct tree *left; } tr[5], elem; elem.left = & elem;

В приведенном примере используется операция выбора (.) для доступа к элементу left структурной переменной elem. Таким образом элементу left структурной переменной elem присваивается адрес самой переменной elem, т.е. переменная elem хранит ссылку на себя саму.

Приведение типов это изменение (преобразование) типа объекта. Для выполнения преобразования необходимо перед объектом записать в скобках нужный тип:

( имя-типа ) операнд.

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

Пример:

int i; double x; b = (double)i+2.0;

В этом примере целая переменная i с помощью операции приведения типов приводится к плавающему типу, а затем уже участвует в вычислении выражения.

Константное выражение - это выражение, результатом которого является константа. Операндом константного выражения могут быть целые константы, символьные константы, константы с плавающей точкой, константы перечисления, выражения приведения типов, выражения с операцией sizeof и другие константные выражения.


- Начало -  - Назад -  - Вперед -