52 ROZDZIAŁ 8. OPERATORY • jednoargumentowe operatory “*” i “&” opisane przy okazji opisywania wskaźni- ków; ⢠operatory â.â i â- â opisywane przy okazji opisywania struktur i unii; ⢠operator â()â bÄdÄ
cy operatorem wywoÅania funkcji, ⢠operator â()â grupujÄ
cy wyrażenia (np. w celu zmiany kolejnoÅci obliczania 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ż ope- rator dodawania i z tego powodu w wyrażeniu 2+2 · 2 najpierw wykonuje siÄ mnożenie, a dopiero potem dodawanie. Drugim parametrem jest ÅÄ
cznoÅÄ â okreÅla ona od której strony wykonywane sÄ
dziaÅania w przypadku poÅÄ
czenia operatorów o tym samym priorytecie. Na przykÅad odejmowanie ma ÅÄ
cznoÅÄ lewostronnÄ
i 2 â 2 â 2 da w wyniku -2. Gdyby miaÅo ÅÄ
cznoÅÄ prawostronnÄ
w wynikiem byÅoby 2. PrzykÅadem matematycznego operatora, który ma ÅÄ
cznoÅÄ prawostronnÄ
jest potÄgowanie, np. 32 2 jest równe 81. W jÄzyku C wystÄpuje dużo poziomów operatorów. Poniżej przedstawiamy tabelkÄ ze wszystkimi operatorami poczynajÄ
c od tych z najwyższym priorytetem (wykony- wanych na poczÄ
tku). Tabela 8.1: Priorytety operatorów Operator ÅÄ
cznoÅÄ nawiasy nie dotyczy jednoargumentowe przyrostkowe: . - woÅanie funkcji postinkre- mentacja postdekrementacja lewostronna jednoargumentowe przedrostkowe :! + â * & sizeof preinkremen- tacja predekrementacja rzutowanie prawostronna * / % lewostronna + lewostronna lewostronna = lewostronna == != lewostronna & lewostronna Ë lewostronna â lewostronna && lewostronna || lewostronna ?: prawostronna operatory przypisania prawostronna , lewostronna Duża liczba poziomów pozwala czasami zaoszczÄdziÄ trochÄ milisekund w trakcie pisania programu i bajtów na dysku, gdyż czÄsto nawiasy nie sÄ
potrzebne, nie należy
... zobacz całą notatkę
Komentarze użytkowników (0)