В таблице представлены операторы С в порядке убывания приоритета. Ассоциативность (очерёдность) указывает, в какой последовательности выполняются операторы с одинаковым приоритетом.
Оператор | Описание | Ассоциативность |
---|---|---|
( ) |
Круглые скобки (вызов функции)1 | слева-направо |
[ ] |
Квадратные скобки (индекс элемента массива) | |
. |
Выбор элемента с помощью имени объекта | |
-> |
Выбор элемента с помощью указателя | |
++, -- |
Постфиксный инкремент/декремент | |
++, -- |
Префиксный инкремент/декремент | справа-налево |
+, - |
Унарный плюс/минус | |
!, ~ |
Логическое НЕ/Побитовое НЕ | |
(type) |
Приведение к типу type |
|
* |
Разыменование | |
& |
Адрес (операнда) | |
sizeof |
Размер в байтах | |
*, /, % |
Умножение, деление и остаток | слева-направо |
+, - |
Сложение/вычитание | слева-направо |
<<, >> |
Побитовый сдвиг влево и вправо | слева-направо |
<, <= |
Меньше/Меньше или равно | слева-направо |
>, >= |
Больше/Больше или равно | |
==, != |
Равно/Не равно | слева-направо |
& |
Побитовое И | слева-направо |
^ |
Побитовый XOR (исключающее ИЛИ) | слева-направо |
| |
Побитовое ИЛИ | слева-направо |
&& |
Логическое И | слева-направо |
|| |
Логическое ИЛИ | слева-направо |
?, : |
Тернарный условный оператор | справа-налево |
= |
Присваивание | |
+=, −= |
Присваивание с суммированием и разностью | |
*=, /=, %= |
Присваивание с умножением, делением и остатком от деления | |
<<=, >>= |
Присваивание с побитовым сдвигом влево и вправо | |
&=, ^=, |= |
Присваивание с побитовым И, XOR (исключающим ИЛИ), ИЛИ | |
, |
Запятая (разделение выражений) | слева-направо |
-
Круглые скобки также используются для группировки подвыражений, чтобы изменить приоритет выполнения; такие выражения в скобках могут быть вложенными и оцениваются от внутреннего ко внешнему. ↩
Комментарии
comments powered by Disqus