m
sekcja
(Poprawiono przykład operacji bitowej AND) |
m (sekcja) |
||
* operator "()" będący operatorem wywołania funkcji,
* operator "()" grupujący wyrażenia (np. w celu zmiany kolejności obliczania)
==Wyrażenie==
=== Priorytety i kolejność obliczeń ===
Jak w matematyce, również i w języku C obowiązuje pewna ustalona kolejność działań. Aby móc ją określić należy ustalić dwa parametry danego operatora: jego priorytet oraz łączność. Przykładowo operator mnożenia ma wyższy priorytet niż operator dodawania i z tego powodu w wyrażeniu <math>2 + 2 \cdot 2</math> najpierw wykonuje się mnożenie, a dopiero potem dodawanie.
Kompilator GCC potrafi wykrywać takie błędy i aby to robił należy podać mu argument <tt>-Wparentheses</tt>.
=== Kolejność wyliczania argumentów operatora ===
W przypadku większości operatorów (wyjątkami są tu &&, || i przecinek) nie da się określić, która wartość argumentu zostanie obliczona najpierw. W większości przypadków nie ma to większego znaczenia, lecz w przypadku wyrażeń, które mają efekty uboczne, wymuszenie konkretnej kolejności może być potrzebne. Weźmy dla przykładu program
}
</source>
===Jak czytać wyrażenia?===
*
==Uwagi==
|