C Prioritet og tilknytning til operatører: definisjon og eksempler

I denne opplæringen lærer du om forrang og tilknytning til operatører ved hjelp av eksempler.

Forrang for operatører

Prioriteten til operatører bestemmer hvilken operatør som utføres først hvis det er mer enn en operatør i et uttrykk.

La oss se på et eksempel:

 int x = 5 - 17* 6;

I C er forrang av *høyere enn -og =. Derfor 17 * 6blir behandlet først. Deretter blir uttrykket involverende -evaluert som forrang for -er høyere enn for =.

Her er en tabell over operatørens forrang fra høyere til lavere. Eiendommen til assosiativitet vil bli diskutert om kort tid.

Operatørens prioritet og tilknytningstabell

Operatør Betydningen av operatøren Assosiativitet
()
()
->
.
Funksjonell samtale
Arrayelementreferanse
Indirekte medlemsvalg
Direkte medlemsvalg
Venstre til høyre
!
~
+
-
++
-
&
*
sizeof
(type)
Logisk negasjon
Bitvis (1 s) utfyller
enhetlige pluss
enhetlige minus
sporstepp
Decrement
deferanseoperasjon (adresse)
Pointer referanse
Returnerer størrelsen på et objekt
typecast (konvertering)
Høyre til venstre
*
/
%
Multipliser
Divide
Rest
Venstre til høyre
+
-
Binært pluss (tillegg)
Binært minus (subtraksjon)
Venstre til høyre
<<
>>
Venstre skift
Høyre skift
Venstre til høyre
<
<=
>
> =
Mindre enn
mindre enn eller lik
større enn
større enn eller lik
Venstre til høyre
==
! =
Like til
Ikke lik
Venstre til høyre
& Bitvis OG Venstre til høyre
^ Bitvis eksklusiv ELLER Venstre til høyre
| Bitvis ELLER Venstre til høyre
&& Logisk OG Venstre til høyre
|| Logisk ELLER Venstre til høyre
?: Betinget operatør Høyre til venstre
=
* =
/ =
% =
+ =
- =
& =
=
| =
<< =
>> =
Enkel tildeling
Tildel produkt
Tildel kvotient
Tildel rest
Tildel sum
Tildel forskjell
Tildel bitvis OG
Tildel bitvis XOR
Tildel bitvis ELLER
Tildel venstre skift
Tildel høyre skift
Høyre til venstre
, Separator av uttrykk Venstre til høyre

Assosiativitet av operatører

Assosiativiteten til operatører bestemmer retningen et uttrykk vurderes i. For eksempel,

 b = a;

Her tildeles verdien av a til b, og ikke omvendt. Det er fordi =operatørens assosiativitet er fra høyre til venstre.

Også, hvis to operatører med samme prioritet (prioritet) er til stede, bestemmer assosiativitet retningen de utfører i.

La oss se på et eksempel:

 1 == 2! = 3

Her har operatører ==og !=samme forrang. Og deres assosiativitet er fra venstre til høyre. Derfor 1 == 2blir den utført først.

Uttrykket ovenfor tilsvarer:

 (1 == 2)! = 3

Merk: Hvis en uttalelse har flere operatorer, kan du bruke parenteser for ()å gjøre koden mer lesbar.

Interessante artikler...