Приоритет |Операция |Описание |Порядок применения
--|--|--|--
1 | ``e++ e--`` |Постфиксный инкремент/декремент |слева направо
| e(`e_1`,`e_2`,...) |Вызов функции
| ``e[i]`` |Доступ к элементам массива
| ``e.f`` |Доступ к элементам структуры
| ``e->f`` |Доступ к элементам структуры через указатель на структуру
| (тип){`e_1`,`e_2`,...} | Задание массива или структуры
2 |``++e --e`` |Префиксный инкремент/декремент| справа налево
| ``+e -e`` | Унарный плюс и минус
| ``!e ~e`` | Логическое и поразрядное отрицание
| (тип)e | Преобразование в указанный тип
| ``*e`` | Разыменование
| ``&e`` | Взятие адреса
| ``sizeof e``| Размер
|``_Alignof e``| Рекомендуемое выравнивание для типа
3 | ``x*y x/y x%y`` |Умножение, деление и остаток |слева направо
4 | ``x+y x-y`` | Сложение и вычитание
5 | ``x<<y x>>y`` |Сдвиг битов влево и вправо
6 | ``x<y x<=y`` |Сравнение на меньше и меньше или равно
| ``x>y x>=y`` |Сравнение на больше и больше или равно
7 | ``x==y x!=y`` |Сравнение на равенство и неравенство
8 | ``x&y`` | Поразрядное И
9 | ``x^y`` |Поразрядное исключающее ИЛИ
10 | ``x\|y`` |Поразрядное ИЛИ
11 | ``x&&y`` | Логическое И
12 | ``x\|\|y`` | Логическое ИЛИ
13 | ``x?y:z`` | Условное выражение |справа налево
14 | ``x=y`` | Присваивание
| ``x+=y x-=y`` |Сложение и вычитание с присваиванием
| ``x*=y x/=y x%=y`` |Умножение, деление и остаток с присваиванием
| ``x<<=y x>>=y`` |Сдвиг битов влево и вправо с присваиванием
| ``x&=y x^=y x\|=y`` |Поразрядные И, исключающее ИЛИ, ИЛИ с присваиванием
15 | ``x,y`` |Последовательность вычислений |слева направо