У овом упутству ћете научити о предности и асоцијативности оператора помоћу примера.
Предност оператора
Приоритет оператора одређује који се оператор извршава први ако у изразу постоји више од једног оператора.
Размотримо пример:
int x = 5 - 17* 6;
У Ц је приоритет *већи од -и =. Дакле, 17 * 6прво се оцењује. Тада се израз који -се укључује вреднује као приоритет од -већи од израза =.
Ево табеле приоритета оператора од вишег према нижем. О својству асоцијативности биће речи ускоро.
Табела првенства оператора и асоцијативности
| Оператор | Значење оператора | Асоцијативност |
|---|---|---|
| () () -> . | Функционални позив Референца елемента низа Индиректни избор члана Директни избор члана | С лева надесно |
| ! ~ + - ++ - & * сизеоф (тип) | Логичка негација Допунски битовни (1) додаци Унари плус Унари минус Инцремент Децремент Дереференце (Аддресс) Референца показивача Враћа величину објекта Типецаст (конверзија) | Десна на лево |
| * / % | Премножи подељени остатак | С лева надесно |
| + - | Бинарни плус (Сабирање) Бинарни минус (одузимање) | С лева надесно |
| << >> | Лева смена Десна смена | С лева надесно |
| < <= > > = | Мање од мање од или једнако Веће од веће или једнако | С лева надесно |
| == ! = | Једнако са Не једнако са | С лева надесно |
| & | У битовима И. | С лева надесно |
| ^ | Битно ексклузивно ИЛИ | С лева надесно |
| |. | | У битовима ИЛИ | С лева надесно |
| && | Логично И | С лева надесно |
| || | Логично ИЛИ | С лева надесно |
| ?: | Условни оператер | Десна на лево |
| = * = / = % = + = - = & = = | = << = >> = | Једноставан задатак Додела производ Додела количник Додела остатак Додела сума Додела разлика Додела битовима И Додела битовима ЛОЛ Додела битовима ИЛИ Додела лево смена Додела десно померање | Десна на лево |
| , | Сепаратор израза | С лева надесно |
Асоцијативност оператора
Асоцијативност оператора одређује правац у коме се вреднује израз. На пример,
b = a;
Овде је вредност а додељена б, а не обрнуто. То је зато што је асоцијативност =оператора здесна налево.
Такође, ако су присутна два оператора истог приоритета (приоритета), асоцијативност одређује правац у којем се извршавају.
Размотримо пример:
1 == 2! = 3
Ево, оператери ==и !=имају исти приоритет. А, њихова асоцијативност је слева надесно. Дакле, 1 == 2прво се извршава.
Горњи израз је еквивалентан:
(1 == 2)! = 3
Напомена: Ако израз има више оператора, можете користити заграде ()како бисте код учинили читљивијим.








