Type System
C is a statically typed language, which means every object and function has a specific type that is known at compile-time, and the type of an object or function can not change.
The C type-system consists of the following types,
- Signed Integer Types
signed charshortintlonglong long
- Unsigned Integer Types
unsigned charunsigned shortunsigned intunsigned longunsigned long long_Bool
- Real Floating Types
floatdoublelong double
- Complex Types
float _Complexdouble _Complexlong double _Complex
- Special Types
voidcharEnumeration Types
- Derived Types
- Array TypesFunction TypesPointer TypesStructure TypesUnion Types
Additional Type Categorization
The types mentioned above are often grouped differently based on certain shared properties,
- Character Types
charsigned charunsigned char
- Integer Types
- Signed Integer TypesUnsigned Integer TypesCharacter TypesEnumeration Types
- Floating Types
- Real Floating TypesComplex Types
- Basic Types
charInteger TypesFloating Types
- Real Types
- Integer TypesReal Floating Types
- Arithmetic Types
- Integer TypesFloating Types
- Scalar Types
- Arithmetic TypesPointer Types
- Aggregate Types
- Array TypesStructure Types
Further Reading