Operation Operandentyp Ergebnistypen x + y arithmetisch
x Zeiger auf Feldelement,
y integralint, unsigned, long,
unsigned long, double
Zeiger auf Feldelementx - y arithmetisch
x Zeiger auf Feldelement,
y integral
Zeiger auf gleiches Feldint, unsigned, long,
unsigned long, double
Zeiger auf Feldelement
intx * y arithmetisch int, unsigned, long,
unsigned long, doublex / y arithmetisch int, unsigned, long,
unsigned long, doublex % y integral int, unsigned, long,
unsigned long- x arithmetisch int, unsigned, long,
unsigned long, doublex++ (++x)
x-- (--x)arithmetisch (Lvalue !)
Zeiger auf Feldelementint, unsigned, long,
unsigned long, double
Zeiger auf Feldelementx = y
x op= yarithmetisch (x Lvalue !)
gleicher Struktur- / Union-Typ
Zeiger auf Objekte gleichen TypsTyp von x x & y integral int, unsigned, long,
unsigned longx | y integral int, unsigned, long,
unsigned longx ^ y integral int, unsigned, long,
unsigned long~ x integral int, unsigned, long,
unsigned longx << n
x >> nintegral Typ von x x && y arithmetisch bzw. Zeiger int (0 oder 1) x || y arithmetisch bzw. Zeiger int (0 oder 1) ! x arithmetisch bzw. Zeiger int (0 oder 1) x < y
x > y
x <= y
x >= yarithmetisch bzw. Zeiger
(auf gleiches Feld)int (0 oder 1) x == y
x != yarithmetisch bzw. Zeiger
(auf gleiches Feld oder NULL)int (0 oder 1) x ? y : z arithmetisch
x, y und z vom gleichen Struktur-,
Union- oder ZeigertypTyp von x * x Zeiger auf typ typ & x beliebiger typ
außer void (Lvalue !)Zeiger auf typ x[n] x Zeiger auf beliebigen typ
außer void, n integraltyp x.y x Struktur oder Union
y beliebig typ außer voidtyp x->y x Zeiger auf Struktur oder Union
y beliebig typ außer voidtyp (typ)x x beliebig außer void
sowie Struktur oder Union
typ ist Typspezifikationtyp sizeof   x
sizeof (typ)x beliebig
typ ist Typspezifikationunsigned x, y beliebige Typen Typ von y