Name | Description | Notes | Source | Availability | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
__STDC_ |
Indicator of hosted implementation | L | M | Predefined | C95 | C99 | C11 |
Most C implementations are hosted, i.e., they provide all the library facilities specified by a standard (subject to other constraints). In contrast, a free-standing implementation provides only a small subset of the Standard Library. The free-standing quality allows cut-down implementations for special circumstances to still be considered C, e.g., kernels and embedded systems.
__STDC_
expands to 1
in a hosted implementation, and 0
otherwise. Free-standing environments are not
specified before C95, so
you can detect a hosted environment with:
#if !defined __STDC_HOSTED__ || __STDC_HOSTED__ . . . #endif
The following language and library entities are available in a free-standing implementation:
Header | Purpose | Availability | ||||
---|---|---|---|---|---|---|
<float.h> |
Characteristics of floating-point types | C89 | C90 | C95 | C99 | C11 |
<iso646.h> |
Verbal operators | C95 | C99 | C11 | ||
<limits.h> |
Integer type characteristics | C89 | C90 | C95 | C99 | C11 |
<stdalign.h> |
Alignment | C11 | ||||
<stdarg.h> |
Variable-length argument lists | C89 | C90 | C95 | C99 | C11 |
<stdbool.h> |
Boolean type | C99 | C11 | |||
<stddef.h> |
Miscellaneous types and constants | C89 | C90 | C95 | C99 | C11 |
<stdint.h> |
Integer types with particular characteristics | C99 | C11 | |||
<stdnoreturn.h> |
Non-returning functions | C11 |
Name | Description | Notes | Source | Availability | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
# |
Create string token | L | + | Native | C89 | C90 | C95 | C99 | C11 | ||
## |
Concatenate tokens | L | + | Native | C89 | C90 | C95 | C99 | C11 | ||
#define |
Define macro | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#elif |
Conditionally compile | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#else |
Conditionally compile | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#endif |
Conditionally compile | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#error |
Print diagnostic and fail | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#if |
Conditionally compile | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#ifdef |
Test for macro | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#ifndef |
Test for macro | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#include |
Include header | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#line |
Set line number | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#pragma |
Control compilation | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
#undef |
Undefine macro | L | Directive | C89 | C90 | C95 | C99 | C11 | |||
__alignas_ |
Indicator of availability of alignas |
L | M | <stdalign.h> |
C11 | ||||||
__alignof_ |
Indicator of availability of alignof |
L | M | <stdalign.h> |
C11 | ||||||
__bool_ |
Indicate availability of boolean type | L | M | <stdbool.h> |
C99 | C11 | |||||
__DATE__ |
Compilation date | L | M | Predefined | C89 | C90 | C95 | C99 | C11 | ||
__FILE__ |
Compilation file name | L | M | Predefined | C89 | C90 | C95 | C99 | C11 | ||
__func__ |
Function name | L | Predefined | C99 | C11 | ||||||
__LINE__ |
Compilation line number | L | M | Predefined | C89 | C90 | C95 | C99 | C11 | ||
__STDC__ |
Indicator of conforming implementation | L | M | Predefined | C89 | C90 | C95 | C99 | C11 | ||
__STDC_ |
Indicator of analyzability | L | ? | M | Predefined | C11 | |||||
__STDC_ |
Indicator of hosted implementation | L | M | Predefined | C95 | C99 | C11 | ||||
__STDC_ |
Indicator of support for IEC 60559-compatible floating-point arithmetic | L | ? | M | Predefined | C99 | C11 | ||||
__STDC_ |
Indicator of support for IEC 60559-compatible complex arithmetic | L | ? | M | Predefined | C99 | C11 | ||||
__STDC_ |
Unicode version | L | ? | M | Predefined | C99 | C11 | ||||
__STDC_ |
Identifier of version of bounds-checking conformance | L | ? | M | Predefined | C11 | |||||
__STDC_ |
Indicator for lack of guaranteed equivalence of multibyte and wide characters in the basic character set | L | ? | M | Predefined | C11 | |||||
__STDC_ |
Indicator of lack of standard atomics | L | ? | M | Predefined | C11 | |||||
__STDC_ |
Indicator for lack of complex arithmetic | L | ? | M | Predefined | C99 | C11 | ||||
__STDC_ |
Indicator of lack of standard threading | L | ? | M | Predefined | C11 | |||||
__STDC_ |
Indicator of lack of support for variable-length arrays | L | ? | M | Predefined | C99 | C11 | ||||
__STDC_ |
Indicator of equivalence of char16_t and
UTF-16 |
L | ? | M | Predefined | C11 | |||||
__STDC_ |
Indicator of equivalence of char32_t and
UTF-32 |
L | ? | M | Predefined | C11 | |||||
__STDC_ |
Standard version identifier | L | M | Predefined | C95 | C99 | C11 | ||||
__TIME__ |
Compilation time | L | M | Predefined | C89 | C90 | C95 | C99 | C11 | ||
__VA_ |
Macro argument list | L | Predefined | C99 | C11 | ||||||
_Alignas |
Impose stricter alignment | L | + | Keyword | C11 | ||||||
_Alignof |
Compute alignment | L | + | Keyword | C11 | ||||||
_Atomic |
Type specifier for atomic types | L | ? | Q | Keyword | C11 | |||||
_Bool |
Boolean type | L | T | Keyword | C99 | C11 | |||||
_Complex |
Type specifier for complex types | L | ? | Q | Keyword | C99 | C11 | ||||
_Generic |
Generic expression | L | + | Keyword | C11 | ||||||
_Imaginary |
Type specifier for imaginary types | L | ? | Q | Keyword | C99 | C11 | ||||
_Noreturn |
Indicator of function that does not return | L | Q | Keyword | C11 | ||||||
_Pragma |
Control compilation | L | + | Keyword | C99 | C11 | |||||
_Static_ |
Static assertion | L | + | Keyword | C11 | ||||||
_Thread_ |
Storage class for thread-local variables | L | S | Keyword | C11 | ||||||
alignas |
Impose stricter alignment | L | M | + | <stdalign.h> |
C11 | |||||
alignof |
Compute alignment | L | M | + | <stdalign.h> |
C11 | |||||
and |
Logical AND operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
and_eq |
Bitwise AND assignment operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
atomic_ |
Compare and then exchange a value with an atomic variable according to explicit constraints without spurious failure | L | (·) | Predefined | C11 | ||||||
atomic_ |
Compare and then exchange a value with an atomic variable according to explicit constraints | L | (·) | Predefined | C11 | ||||||
auto |
Storage class for automatic objects | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
bitand |
Bitwise AND operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
bitor |
Bitwise OR operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
bool |
Boolean type | L | M | T | <stdbool.h> |
C99 | C11 | ||||
break |
Exit from loop | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
break |
Exit from switch statement |
L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
break |
Exit from loop or switch statement |
L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
CHAR_ |
Number of bits in unsigned char |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
CHAR_ |
Maximum value of char |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
CHAR_ |
Minimum value of char |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
case |
Branch in switch statement |
L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
char |
Specifier for integer types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
char |
Character type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
compl |
Bitwise complement operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
const |
Marks unassignable object | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
continue |
Jump to end of loop | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
DBL_ |
Representable decimal digits in any real floating-point type | L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Decimal digits of precision of double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Smallest x of type
double such
that 1.0 + x != 1.0 |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Determinant whether double has
subnormal values |
L | M | <float.h> |
C11 | ||||||
DBL_ |
Number of base-FLT_ digits in
mantissa of double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Maximum value of double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Maximum integral base-10 exponent yielding
double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
One plus maximum integral exponent of base
FLT_ yielding
double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Minimum normalized value of double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Minimum integral base-10 exponent yielding normalized
double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
One plus minimum integral exponent of base
FLT_ yielding
normalized double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
DBL_ |
Minimum positive value of double |
L | M | <float.h> |
C11 | ||||||
DECIMAL_ |
Representable decimal digits in any real floating-point type | L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
default |
Multipurpose label | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
default |
Default branch in switch statement |
L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
default |
Default branch in _Generic expression |
L | Keyword | C11 | |||||||
defined |
Test for macro | L | + | Native | C89 | C90 | C95 | C99 | C11 | ||
do |
Loop syntax | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
double |
Specifier for floating-point types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
double |
‘Double-precision’ floating-point type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
double _Complex |
‘Double-precision’ floating-point complex type | L | ? | T | Native | C99 | C11 | ||||
double _Imaginary |
‘Double-precision’ floating-point imaginary type | L | ? | T | Native | C99 | C11 | ||||
else |
Component of conditional statements | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
enum |
Introduces enumeration type | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
extern |
Storage class for external objects | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Representable decimal digits in any real floating-point type | L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Decimal digits of precision of float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Smallest x of type
float such
that 1.0 + x != 1.0 |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Floating-point evaluation method | L | M | <float.h> |
C99 | C11 | |||||
FLT_ |
Determinant whether float has
subnormal values |
L | M | <float.h> |
C11 | ||||||
FLT_ |
Number of base-FLT_ digits in
mantissa of float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Maximum value of float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Maximum integral base-10 exponent yielding
float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
One plus maximum integral exponent of base
FLT_ yielding
float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Minimum normalized value of float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Minimum integral base-10 exponent yielding normalized
float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
One plus minimum integral exponent of base
FLT_ yielding
normalized float |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Characteristic of float ,
double and
long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Characteristic of float ,
double and
long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
FLT_ |
Minimum positive value of float |
L | M | <float.h> |
C11 | ||||||
false |
Boolean constant ‘false’ | L | M | <stdbool.h> |
C99 | C11 | |||||
float |
‘Single-precision’ floating-point type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
float |
Specifier for floating-point types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
float _Complex |
‘Single-precision’ floating-point complex type | L | ? | T | Native | C99 | C11 | ||||
float _Imaginary |
‘Single-precision’ floating-point imaginary type | L | ? | T | Native | C99 | C11 | ||||
for |
Loop syntax | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
goto |
Jump to statement | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
INT16_C() |
Create constant of type int_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
INT16_ |
Maximum value of int16_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT16_ |
Minimum value of int16_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT32_C() |
Create constant of type int_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
INT32_ |
Maximum value of int32_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT32_ |
Minimum value of int32_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT64_C() |
Create constant of type int_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
INT64_ |
Maximum value of int64_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT64_ |
Minimum value of int64_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT8_C() |
Create constant of type int_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
INT8_ |
Maximum value of int8_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT8_ |
Minimum value of int8_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Minimum value of int_ |
L | M | <stdint.h> |
C99 | C11 | |||||
INT_ |
Maximum value of int |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
INT_ |
Minimum value of int |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
INTMAX_C() |
Create constant of type intmax_t |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
INTMAX_ |
Maximum value of intmax_t |
L | M | <stdint.h> |
C99 | C11 | |||||
INTMAX_ |
Minimum value of intmax_t |
L | M | <stdint.h> |
C99 | C11 | |||||
INTPTR_ |
Maximum value of intptr_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INTPTR_ |
Minimum value of intptr_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
if |
Component of conditional statements | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
inline |
Specifier for in-line functions | L | Q | Keyword | C99 | C11 | |||||
int |
Specifier for integer types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
int |
Signed integer type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
int16_t |
Signed integer type of exactly 16 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
int32_t |
Signed integer type of exactly 32 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
int64_t |
Signed integer type of exactly 64 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
int8_t |
Signed integer type of exactly 8 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
int_ |
Fastest signed integer type with at least 16 bits | L | T | <stdint.h> |
C99 | C11 | |||||
int_ |
Fastest signed integer type with at least 32 bits | L | T | <stdint.h> |
C99 | C11 | |||||
int_ |
Fastest signed integer type with at least 64 bits | L | T | <stdint.h> |
C99 | C11 | |||||
int_ |
Fastest signed integer type with at least 8 bits | L | T | <stdint.h> |
C99 | C11 | |||||
int_ |
Smallest signed integer type with at least 16 bits | L | T | <stdint.h> |
C99 | C11 | |||||
int_ |
Smallest signed integer type with at least 32 bits | L | T | <stdint.h> |
C99 | C11 | |||||
int_ |
Smallest signed integer type with at least 64 bits | L | T | <stdint.h> |
C99 | C11 | |||||
int_ |
Smallest signed integer type with at least 8 bits | L | T | <stdint.h> |
C99 | C11 | |||||
intmax_t |
Largest signed integer type | L | T | <stdint.h> |
C99 | C11 | |||||
intptr_t |
Signed integer type capable of storing a pointer | L | ? | T | <stdint.h> |
C99 | C11 | ||||
LDBL_ |
Representable decimal digits in any real floating-point type | L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Decimal digits of precision of long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Smallest x of type
long double such
that 1.0 + x != 1.0 |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Determinant whether long double has
subnormal values |
L | M | <float.h> |
C11 | ||||||
LDBL_ |
Number of base-FLT_ digits in
mantissa of long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Maximum value of long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Maximum integral base-10 exponent yielding
long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
One plus maximum integral exponent of base
FLT_ yielding
long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Minimum normalized value of long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Minimum integral base-10 exponent yielding normalized
long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
One plus minimum integral exponent of base
FLT_ yielding
normalized long double |
L | M | <float.h> |
C89 | C90 | C95 | C99 | C11 | ||
LDBL_ |
Minimum positive value of long double |
L | M | <float.h> |
C11 | ||||||
LLONG_ |
Maximum value of long long |
L | M | <limits.h> |
C99 | C11 | |||||
LLONG_ |
Minimum value of long long |
L | M | <limits.h> |
C99 | C11 | |||||
LONG_ |
Maximum value of long |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
LONG_ |
Minimum value of long |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
long |
Specifier for integer and floating-point types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
long |
Signed integer type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
long double |
‘Long’ floating-point type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
long double _Complex |
‘Long’ floating-point complex type | L | ? | T | Native | C99 | C11 | ||||
long double _Imaginary |
‘Long’ floating-point imaginary type | L | ? | T | Native | C99 | C11 | ||||
long long |
Signed integer type | L | T | Native | C99 | C11 | |||||
MB_ |
Maximum multibyte character length | L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
max_ |
Type with maximum alignment requirement | L | T | <stddef.h> |
C11 | ||||||
modf() |
Extract integral and fractional parts | L | (·) | Predefined | C99 | C11 | |||||
NULL |
Null pointer constant | L | M | Headers | C89 | C90 | C95 | C99 | C11 | ||
noreturn |
Indicator of function that does not return | L | M | Q | <stdnoreturn.h> |
C11 | |||||
not |
Logical NOT operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
not_eq |
Inequality operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
offsetof() |
Determine structure-member position | L | M | (·) | <stddef.h> |
C89 | C90 | C95 | C99 | C11 | |
or |
Logical OR operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
or_eq |
Bitwise OR assignment operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
PTRDIFF_ |
Maximum value of ptrdiff_t |
H | M | <stdint.h> |
C99 | C11 | |||||
PTRDIFF_ |
Minimum value of ptrdiff_t |
H | M | <stdint.h> |
C99 | C11 | |||||
ptrdiff_t |
Implementation-defined pointer-difference type | H | T | <stddef.h> |
C89 | C90 | C95 | C99 | C11 | ||
RSIZE_ |
Maximum value of rsize_t avoiding run-time
constraint |
L | ? | M | <stdint.h> |
C11 | |||||
register |
Optimize for storage in register | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
restrict |
Marks unshared memory | L | Q | Keyword | C99 | C11 | |||||
return |
Exit from a function | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
rsize_t |
Implementation-defined size type with implied run-time constraints | L | ? | T | Headers | C11 | |||||
SCHAR_ |
Maximum value of signed char |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
SCHAR_ |
Minimum value of signed char |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
SHRT_ |
Maximum value of short |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
SHRT_ |
Minimum value of short |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
SIG_ |
Maximum value of sig_ |
H | M | <stdint.h> |
C99 | C11 | |||||
SIG_ |
Minimum value of sig_ |
H | M | <stdint.h> |
C99 | C11 | |||||
SIZE_ |
Maximum value of size_t |
H | M | <stdint.h> |
C99 | C11 | |||||
short |
Signed integer type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
short |
Specifier for integer types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
signed |
Specifier for signed integer types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
signed
char |
Character type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
size_t |
Implementation-defined size type | H | T | Headers | C89 | C90 | C95 | C99 | C11 | ||
sizeof |
Yield size of object | L | + | Keyword | C89 | C90 | C95 | C99 | C11 | ||
static |
Multipurpose modifier | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
static |
Specifier for minimum array length | L | Keyword | C99 | C11 | ||||||
static |
Storage class for block-scoped static objects | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
static |
Specifier for internal functions | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
static |
Storage class for file-scoped static objects | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
struct |
Introduces structure type | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
switch |
Select from alternative values | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
true |
Boolean constant ‘true’ | L | M | <stdbool.h> |
C99 | C11 | |||||
typedef |
Declare type alias | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
UCHAR_ |
Maximum value of unsigned char |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
UINT16_C() |
Create constant of type uint_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
UINT16_ |
Maximum value of uint16_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
UINT32_C() |
Create constant of type uint_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
UINT32_ |
Maximum value of uint32_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
UINT64_C() |
Create constant of type uint_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
UINT64_ |
Maximum value of uint64_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
UINT8_C() |
Create constant of type uint_ |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
UINT8_ |
Maximum value of uint8_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of uint_ |
L | M | <stdint.h> |
C99 | C11 | |||||
UINT_ |
Maximum value of unsigned |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
UINTMAX_C() |
Create constant of type uintmax_t |
L | M | (·) | <stdint.h> |
C99 | C11 | ||||
UINTMAX_ |
Maximum value of uintmax_t |
L | M | <stdint.h> |
C99 | C11 | |||||
UINTPTR_ |
Maximum value of uintptr_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
ULLONG_ |
Maximum value of unsigned long long |
L | M | <limits.h> |
C99 | C11 | |||||
ULONG_ |
Maximum value of unsigned long |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
USHRT_ |
Maximum value of unsigned short |
L | M | <limits.h> |
C89 | C90 | C95 | C99 | C11 | ||
uint16_t |
Unsigned integer type of exactly 16 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
uint32_t |
Unsigned integer type of exactly 32 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
uint64_t |
Unsigned integer type of exactly 64 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
uint8_t |
Unsigned integer type of exactly 8 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
uint_ |
Fastest unsigned integer type with at least 16 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uint_ |
Fastest unsigned integer type with at least 32 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uint_ |
Fastest unsigned integer type with at least 64 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uint_ |
Fastest unsigned integer type with at least 8 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uint_ |
Smallest unsigned integer type with at least 16 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uint_ |
Smallest unsigned integer type with at least 32 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uint_ |
Smallest unsigned integer type with at least 64 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uint_ |
Smallest unsigned integer type with at least 8 bits | L | T | <stdint.h> |
C99 | C11 | |||||
uintmax_t |
Largest unsigned integer type | L | T | <stdint.h> |
C99 | C11 | |||||
uintptr_t |
Unsigned integer type capable of storing a pointer | L | ? | T | <stdint.h> |
C99 | C11 | ||||
union |
Introduces union type | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
unsigned |
Specifier for unsigned integer types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
unsigned |
Unsigned integer type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
unsigned
char |
Character type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
unsigned long |
Unsigned integer type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
unsigned long long |
Unsigned integer type | L | T | Native | C99 | C11 | |||||
unsigned short |
Unsigned integer type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
va_ |
Extract argument | L | M | (·) | <stdarg.h> |
C89 | C90 | C95 | C99 | C11 | |
va_ |
Copy argument iterator | L | M | (·) | <stdarg.h> |
C99 | C11 | ||||
va_ |
Release argument iterator | L | M | (·) | <stdarg.h> |
C89 | C90 | C95 | C99 | C11 | |
va_ |
Argument iterator | L | T | <stdarg.h> |
C89 | C90 | C95 | C99 | C11 | ||
va_ |
Initialise argument iterator | L | M | (·) | <stdarg.h> |
C89 | C90 | C95 | C99 | C11 | |
void |
Empty return type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
void |
Specifier for empty type, generic pointer type and empty parameter list | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
void |
Empty type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
void |
Empty parameter list | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
void
* |
Generic pointer type | L | T | Native | C89 | C90 | C95 | C99 | C11 | ||
volatile |
Marks unoptimizable object | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
WCHAR_ |
Maximum value of wchar_t |
H | M | Headers | C95 | C99 | C11 | ||||
WCHAR_ |
Minimum value of wchar_t |
H | M | Headers | C95 | C99 | C11 | ||||
WINT_ |
Maximum value of wint_t |
H | M | <stdint.h> |
C99 | C11 | |||||
WINT_ |
Minimum value of wint_t |
H | M | <stdint.h> |
C99 | C11 | |||||
wchar_t |
Wide-character type | H | T | Headers | C95 | C99 | C11 | ||||
while |
Loop syntax | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
xor |
Bitwise XOR operator | L | M | + | <iso646.h> |
C95 | C99 | C11 | |||
xor_eq |
Bitwise XOR assignment operator | L | M | + | <iso646.h> |
C95 | C99 | C11 |