This is a reference of the core C language constructs.
Basic concepts
Comments ASCII chart Translation phases Identifier - Scope - Lifetime Lookup and Name Spaces Type - Arithmetic types Objects and Alignment The main function As-if rule Undefined behavior Memory model and Data races
main
Keywords
Preprocessor
#if - #ifdef - #ifndef #define - # - ## #include - #pragma #line - #error
Statements
if - switch for while - do-while continue - break goto - return
if
switch
for
while
do
continue
break
goto
return
Expressions
Value categories Evaluation order and sequencing Constants and literals Integer constants Floating constants Character constants String literals Compound literals(C99) Constant expressions Implicit conversions Operators Member access and indirection Logical - Comparison Arithmetic - Assignment Increment and Decrement Call, Comma, Ternary sizeof - _Alignof(C11) Cast operators Operator precedence Generic selection(C11)
sizeof
_Alignof
Initialization
Scalar Array Structure/Union
Declarations
Pointers - Arrays Enumerations Storage duration and Linkage const - volatile - restrict(C99) struct - union - Bit fields _Alignas(C11) - typedef _Static_assert(C11) Atomic types(C11) External and tentative definitions
const
volatile
restrict
struct
union
_Alignas
typedef
_Static_assert
Functions
Function declaration Function definition inline(C99) - _Noreturn(C11) Variadic arguments
inline
_Noreturn
Miscellaneous
History of C Conformance Inline assembly Signal handling Analyzability(C11)