Name | Description | Notes | Source | Availability | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
and |
Logical AND operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
and_eq |
Bitwise AND assignment operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
bitand |
Bitwise AND operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
bitor |
Bitwise OR operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
compl |
Bitwise complement operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
not |
Logical NOT operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
not_eq |
Inequality operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
or |
Logical OR operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
or_eq |
Bitwise OR assignment operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
xor |
Bitwise XOR operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
xor_eq |
Bitwise XOR assignment operator | L | M | + | <iso646.h> |
C95 | C99 | C11 |
The header <iso646.h>
defines several macros that expand to the following
tokens:
Macro | Expansion |
---|---|
not_eq |
!= |
not |
! |
and |
&& |
or |
|| |
compl |
~ |
bitand |
& |
and_eq |
&= |
bitor |
| |
or_eq |
|= |
xor |
^ |
xor_eq |
^= |
The Wikipedia article on C alternative tokens explains that some of the punctuation characters used for these operators may be difficult to type on some keyboards.