Operators precedence and Associativity |
Operator precedence and associativity means which operators to perform at first. The table below lists the C operators and their precedence and associativity values. The highest precedence level is at the top of the table and as it goes down the associativity goes on decreasing.
OPERATOR PRECEDENCE AND ASSOCIATIVITY
Symbol | Name or Meaning | Associativity |
++ | Post-increment | Left to right |
-- | Post-decrement |
|
( ) | Function call |
|
[ ] | Array element |
|
-> | Pointer to structure member |
|
. | Structure or union member |
|
++i | Pre-increment | Right to left |
--i | Pre-decrement |
|
! | Logical NOT |
|
~ | Bitwise NOT |
|
- | Unary minus |
|
+ | Unary plus |
|
& | Address |
|
* | Indirection |
|
sizeof | Size in bytes |
|
new | Allocate program memory |
|
delete | Deallocate program memory |
|
(type) | Type cast [for example, (float) i] |
|
.* | Pointer to a member (objects) | Left to right |
->* | Pointer to a member (pointers) |
|
* | Multiply | Left to right |
/ | Divide |
|
% | Remainder |
|
+ | Add | Left to right |
- | Subtract |
|
<< | Left shift | Left to right |
>> | Right shift |
|
< | Less than | Left to right |
<= | Less than or equal to |
|
> | Greater than |
|
>= | Greater than or equal to |
|
== | Equal | Left to right |
!= | Not equal |
|
& | Bitwise AND | Left to right |
^ | Bitwise exclusive OR | Left to right |
| | Bitwise OR | Left to right |
&& | Logical AND | Left to right |
|| | Logical OR | Left to right |
? : | Conditional | Right to left |
= | Assignment | Right to left |
*=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= | Compound assignment |
|
, | Comma | Left to right |
Let's see the above operators in the program below:-
output
D is 8
Another example
output
D is 5
0 Comments