Operation |
Operandentyp |
Ergebnistypen |
x + y |
arithmetisch
x Zeiger auf Feldelement, y integral |
int, unsigned, long,
unsigned long, double
Zeiger auf Feldelement |
x - y |
arithmetisch
x Zeiger auf Feldelement, y integral
Zeiger auf gleiches Feld |
int, unsigned, long,
unsigned long, double
Zeiger auf Feldelement
int |
x * y |
arithmetisch |
int, unsigned, long,
unsigned long, double |
x / y |
arithmetisch |
int, unsigned, long,
unsigned long, double |
x % y |
integral |
int, unsigned, long,
unsigned long |
- x |
arithmetisch |
int, unsigned, long,
unsigned long, double |
x++ (++x)
x-- (--x) |
arithmetisch (Lvalue !)
Zeiger auf Feldelement |
int, unsigned, long,
unsigned long, double
Zeiger auf Feldelement |
x = y
x op= y |
arithmetisch (x Lvalue !)
gleicher Struktur- / Union-Typ
Zeiger auf Objekte gleichen Typs |
Typ von x |
x & y |
integral |
int, unsigned, long,
unsigned long |
x | y |
integral |
int, unsigned, long,
unsigned long |
x ^ y |
integral |
int, unsigned, long,
unsigned long |
~ x |
integral |
int, unsigned, long,
unsigned long |
x << n
x >> n |
integral |
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 >= y |
arithmetisch bzw. Zeiger
(auf gleiches Feld) |
int (0 oder 1) |
x == y x != y |
arithmetisch bzw. Zeiger
(auf gleiches Feld oder NULL) |
int (0 oder 1) |
x ? y : z |
arithmetisch
x, y und z vom gleichen Struktur-, Union- oder Zeigertyp |
Typ 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 integral |
typ |
x.y |
x Struktur oder Union
y beliebig typ außer void |
typ |
x->y |
x Zeiger auf Struktur oder Union
y beliebig typ außer void |
typ |
(typ)x |
x beliebig außer void
sowie Struktur oder Union
typ ist Typspezifikation |
typ |
sizeof   x
sizeof (typ) |
x beliebig
typ ist Typspezifikation |
unsigned |
x, y |
beliebige Typen |
Typ von y |