C OPERATOR PRECEDENCES
Return to Main Contents
NAME
C operator precedences.
precedence names
atom
primary
postfix
unary
cast
pm
mult
add
shift
rel
eq
band
bxor
bor
and
xor
or
cond
assign
comma
expr
postfix
++,postfix
--,postfix
prefix
~,primary
+,unary
-,unary
!,unary
&,unary
*,unary
++,unary
--,unary
sizeof,unary
infix
+,add
-,add
*,mult
/,mult
%,mult
<<,shift
>>,shift
&,band
|,bor
^,bxor
&&,and
||,or
+=,assign
-=,assign
*=,assign
/=,assign
%=,assign
<<=,assign
>>=,assign
&=,assign
|=,assign
^=,assign
<,rel
>,rel
>=,rel
<=,rel
==,eq
!=,eq
->,postfix
->*,pm
,,comma
default precedences
"~$1",("~$1:primary","primary");
"$1++",("$1:postfix ++ ","postfix");
"$1--",("$1:postfix -- ","postfix");
"$1($2)",("$1:postfix($2:assign)","postfix");
"$1[$2]",("$1:postfix[$2:expr]","postfix");
"$1->$2",("$1:postfix->$2:atom","postfix");
"~$1",("~$1:unary","unary");
"+$1",("+ $1:unary","unary");
"-$1",("- $1:unary","unary");
"!$1",("!$1:unary","unary");
"&$1",("& $1:unary","unary");
"*$1",("*$1:unary","unary");
"++$1",("++ $1:unary","unary");
"--$1",("-- $1:unary","unary");
"$1+$2",("$1:add + $2:mult","add");
"$1-$2",("$1:add - $2:mult","add");
"$1*$2",("$1:mult * $2:pm","mult");
"$1/$2",("$1:mult / $2:pm","mult");
"$1%$2",("$1:mult % $2:pm","mult");
"$1<<$2",("$1:shift << $2:band","shift");
"$1>>$2",("$1:shift >> $2:band","shift");
"$1&$2",("$1:band & $2:bor","band");
"$1|$2",("$1:bor | $2:bxor","bor");
"$1^$2",("$1:bxor ^ $2:and","bxor");
"$1&&$2",("$1:and && $2:or","and");
"$1||$2",("$1:or || $2:cond","or");
"$1+=$2",("$1:cond += $2:assign","assign");
"$1-=$2",("$1:cond -= $2:assign","assign");
"$1*=$2",("$1:cond *= $2:assign","assign");
"$1/=$2",("$1:cond /= $2:assign","assign");
"$1%=$2",("$1:cond %= $2:assign","assign");
"$1<<=$2",("$1:cond <<= $2:assign","assign");
"$1>>=$2",("$1:cond >>= $2:assign","assign");
"$1&=$2",("$1:cond &= $2:assign","assign");
"$1|=$2",("$1:cond |= $2:assign","assign");
"$1^=$2",("$1:cond ^= $2:assign","assign");
"$1<$2",("$1:rel < $2:shift","rel");
"$1>$2",("$1:rel > $2:shift","rel");
"$1>=$2",("$1:rel >= $2:shift","rel");
"$1<=$2",("$1:rel <= $2:shift","rel");
"$1==$2",("$1:eq == $2:rel","eq");
"$1!=$2",("$1:eq != $2:rel","eq");
"$1.*$2",("$1:pm.*$2:cast","pm");
"$1->*$2",("$1:pm->*$2:cast","pm");
"$1:comma,$2:comma",("$1,$2","comma");
Index
- NAME
-
- precedence names
-
- postfix
-
- prefix
-
- infix
-
- default precedences
-
This document was created by
man2html,
using the manual pages.
Time: 07:02:36 GMT, May 31, 2006