Name | Description | Notes | Source | Availability | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
_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 | ||||||
auto |
Storage class for automatic objects | L | S | Keyword | C89 | C90 | C95 | C99 | C11 | ||
break |
Exit from loop or switch statement |
L | Keyword | 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 | ||
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 | |||
default |
Multipurpose label | L | Keyword | 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 | ||
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 | ||
float |
Specifier for floating-point types | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
for |
Loop syntax | L | Keyword | C89 | C90 | C95 | C99 | C11 | |||
goto |
Jump to statement | L | Keyword | C89 | C90 | C95 | 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 | ||
long |
Specifier for integer and floating-point types | L | Q | Keyword | C89 | C90 | C95 | C99 | 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 | |||
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 | ||
sizeof |
Yield size of object | L | + | Keyword | C89 | C90 | C95 | C99 | C11 | ||
static |
Multipurpose modifier | L | 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 | |||
typedef |
Declare type alias | L | S | Keyword | C89 | C90 | C95 | 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 | ||
void |
Specifier for empty type, generic pointer type and empty parameter list | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
volatile |
Marks unoptimizable object | L | Q | Keyword | C89 | C90 | C95 | C99 | C11 | ||
while |
Loop syntax | L | Keyword | C89 | C90 | C95 | C99 | C11 |