Most expressions can contain several different, but related, types of operands. The following type classes described related types of operands.
| integral | Character objects and constants, objects having an enumeration type, and objects having the types short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long. |
| arithmetic | Integral objects listed above, and objects having the types float, double, long double, and long float. |
| scalar | Arithmetic objects listed above, and pointers to any object type. Also C++ references. |
| aggregate | Arrays, structures, and unions. Also C++ classes. |
Many operators cause conversions from one data type to another.
![]()
Integral Promotions
Standard Type Conversions
Arithmetic Conversions
![]()
Arithmetic
Conversions
Arithmetic
Conversions for extended Level C