C/Operatory: Różnice pomiędzy wersjami

Dodane 52 bajty ,  5 lat temu
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==
7967

edycji