Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Унарные операции





 

 

Выражение с унарными операциями группируется справо на-

лево.

Унарное-выражение:

* выражение

& L-значение

- выражение

! Выражение

\^ выражение

++ L-значение

-- L-значение

L-значение ++

L-значение --

(имя-типа) выражение

SIZEOF выражение

SIZEOF имя-типа

 

Унарная операция * означает косвенную адресацию: выраже-

ние должно быть указателем, а результатом является L-значе-

ние, ссылающееся на тот объект, на который указывает выраже-

ние. Если типом выражения является "указатель на...", то ти-

пом результата будет "...".

Результатом унарной операции & является указатель на

объект, к которому ссылается L-значение. Если L-значение

имеет тип "...", то типом результата будет "указатель на

...".

Результатом унарной операции - (минус) является ее опе-

ранд, взятый с противоположным знаком. Для величины типа

UNSIGNED результат получается вычитанием ее значения из 2**N

(два в степени N), где N-число битов в INT. Унарной операции

+ (плюс) не существует.

Результатом операции логического отрицания! Является 1,

если значение ее операнда равно 0, и 0, если значение ее

операнда отлично от нуля. Результат имеет тип INT. Эта опе-

рация применима к любому арифметическому типу или указате-

лям.

Операция \^ дает обратный код, или дополнение до едини-

цы, своего операнда. Выполняются обычные арифметические пре-

образования. Операнд должен быть целочисленного типа.

Объект, на который ссылается операнд L-значения префикс-

ной операции ++, увеличивается. значением является новое

значение операнда, но это не L-значение. Выражение ++х экви-

валентно х+=1. Информацию о преобразованиях смотри в разборе

операции сложения (п. 15.4) и операции присваивания (п.

15.14).

Префиксная операция -- аналогична префиксной операции

++, но приводит к уменьшению своего операнда L-значения.

При применении постфиксной операции ++ к L-значению ре-

зультатом является значение объекта, на который ссылается

L-значение. После того, как результат принят к сведению,

объект увеличивается точно таким же образом, как и в случае

префиксной операции ++. Результат имеет тот же тип, что и

выражение L-значения.

 

При применении постфиксной операции -- к L-значению ре-

зультатом является значение объекта, на который ссылается

L-значение. После того, как результат принят к сведению,

объект уменьшается точно таким же образом, как и в случае

префиксной операции --. Результат имеет тот же тип, что и

выражение L-значения.

Заключенное в круглые скобки имя типа данных,стоящее пе-

ред выражением, вызывает преобразование значения этого вы-

ражения к указанному типу. Эта конструкция называется пере-

вод (CAST). Имена типов описываются в п. 16.7.

Операция SIZEOF выдает размер своего операнда в байтах.

(Понятие байт в языке не определено, разве только как значе-

ние операции SIZEOF. Однако во всех существующих реализациях

байтом является пространство, необходимое для хранения

объекта типа CHAR). При применении к массиву результатом яв-

ляется полное число байтов в массиве. Размер определяется из

описаний объектов в выражении. Это выражение семантически

является целой константой и может быть использовано в любом

месте, где требуется константа. Основное применение эта опе-

рация находит при связях с процедурами, подобным распредели-

телям памяти, и в системах ввода- вывода.

Операция SIZEOF может быть также применена и к заключен-

ному в круглые скобки имени типа. В этом случае она выдает

размер в байтах объекта указанного типа.

Конструкция SIZEOF (тип) рассматривается как целое, так

что выражение SIZEOF (тип) - 2 эквивалентно выражению

(SIZEOF (тип)9 - 2.

 

Date: 2015-09-17; view: 367; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию